completed controller, view, template.