optimize preferredMove()