adding player abstraction layer for easier player-centric data storage, move files around