refactored code, main thing added is Builder Pattern (PlayerBuilder)