fixed move logic