updated dsl to take classes instead of instances