view and controller updates