refactor player page