Search Updates
Refactoring based on feedback