added model classes
use enum values
refactoring
refactoring
refactoring