fixed logic with moves