refined player movement