split the model and control