added keyword searching