refactored DTOs