add keyword searching function