infra exposes DTOs