add shell search function