big code refactor: a new Player object has been created during the process