view and model