including search function