simplified ring; multiple types