solve circular reference in compositor(finally!)