updated controller and builder