deeper thatn 1 circular dependency handled