Use a while loop for movement instead of do while, fixes issue where we move too far