dsl refactoring
improvements
docs