ADD: state model and controller