rename abstract classes and some other cleanup