longer for shorter arrays, but better for bigger arrays