allow specifying custom resource factories