circular reference path