rewrited player movement handling