resolves issue #3: search/replace functionality