Added binary search implementation