add new option: patternMaker, replacementMaker