add three type of binary search