figuring out circular dependency