classes for view and controller