implement client side search