Created domain layer