dsl refactored