smartMove()