user controler and viwes