client view and controller