Refactoring DSL (finished)