improved DSL