Why was the american army unsuccessful in it's attempt to drive the British out of Canada

A.) The Native Americans abandoned their alliance with the Americans mid-battle and sided with the British
B.) The Americans were halted by the Canadian winter and could not advance
C.) The French presence was too strong in Quebec
D.) The United States split up troops instead of making a unified attack