minimal factory design