refactor flow for listCollection shim use