a statemachine，just test git practice