implement tree filter for async cache