fix circular dep