app controller now optional