Initial commit for the factory pattern