split model and view