adding first version of the DSL