finished search functions