learn model and view