search function modify