DSL in scala 2