redundant state fields have been removed, state output has been changed to sequential enum