implemented player name framework