some correction to FindReplace architecture and usability