another try for a new DSL