add abstract model class + refactoring
refactoring
more model abastraction
more
prod + mep process