removed state_machine implementation