simpify dsl + more code gen
adds for loop