preparing the dsl to generate all the functions