many changes in base classes