Added main interfaces and value objects