Split into 2 different use models, uniform vs non-uniform factories