controllers updated to use new oop model