Added some decent comments to the factory