implement 3.0 query