Refactored factories