state transitions working better