finished oop model for now