added provider factory (eek!)
0.0.20