Add base classes and model