new implementation using crossfilters