passing circular ref test