refactor / ring redesign

derive ring from shared ptr
prohibit quad creation on stack
refactoring / template args

replace two template arguments with one