to avoid circular loading