Added searches and refactored the model objects