added basic splash screen, and state switching