implements screens, and pause screen