try and clean up player movement a bit