player renderer refactored