ring_t added (beware not compilable state)