補上 state machine 的 spec