half of applyMove()