Player implementation, IO refactoring, build