restructure code and remove player for proper entity introduction