Added factories for the protocols