assign factory types instead of just closures