Factor out binary_search
Add bloom filter