try to cache and drop empty results too