added splash loader, decoupled gamestate