add basic DSL parsing