support multiple screens

add an enum state variable and put current part under 'start'