fixed up some OO organization of classes