model classes
1st phase