search: add iterative binary search