implement binary search by recursion