refactoring a bit
basic ring and tiny interactions
added missing code