Add controllers and observers

--needed to pull
--but adds mostly copy paste code from other controllers