Refactored -- with fast search