add search utilities and test cases