add async support
PolarisExtension do not need cache arg