array shifting is weird.