try and fix circular dependency bug