start of keyword search functionality