update the view and fix a few bug