refactor commands dsl