DSL implementation