use more sophiscated strategy for character moving