Refactor DSL methods and CleanRoom
Rebase with master