upated the model classes, added enums and documentation.