user view and controller