circular ref resolved