add dsl and scoping