Better horizontal move generation