add a DSL for module declaration