Add domain classes and repository interface