add final screen; refactored out actions/events