add non recursive binary search