changed from observer to MVC

also renamed autogenerated button names and such