state <--> end