Moved functionatliy away from the Player object