Refactor Player