avoiding array out-of-bounds errors