added basic infrastructure for transitions between screens, broken version