Added model base classes and interfaces