correct and/or implement several fsm states