implement PerRequest sharing