event controller and model