component factories updated again