initial fsm like rev