add code for dsl, add context, test it all, missing group tests