implemented player movement