updated Protofactory