I fixed the for loop, now there's nested if statements for the drivers,
instead of independent if statements

I added c compile branch