[update:] layering architecture for domain model