factories used to build all rings and groups