listeners, state machine, free bug