Added search list
Refactored into smaller modules