brand new player generation using reflection