missed a file on last commit. updated some tests. added a picky replacement option.