stateful added