DSL refactored
DSL refactoring WIP