Added DSL to remove boilerplate