function based player_build