Better moving logic