add visual search function