added client side filtering