UPDATED factory and related controllers