abstract_factories
