refactoring
and added models annotation