added ring state visitor