adds functionality to create different types of rings

Signed-off-by: mrzl <lzrm@mrzl.net>