more tests
when invalid state test
twice-fire when test