add a search function
modify