ring logic implemented