updated controller + view