added search methods and and a few supporting methods
Merge branch 'daves-branch'