Refactored name to "factory"