Factory update

Refactored to use... factories.