added replaceText feature