add keyword search logic