DSL refactoring!