ring => nonpublic