search updated to fully support the requirements