added more test cases. recursive search now works fine