adapt Status class
adapt state machine