first fuctional domain class - controller - view