controller and view update