my own dsls in scala