replace, remove and better DSL