created new superclass BasicClazz for Clazz and refactored to use this most places