filtering in place, now need to keep track of user selection on client