What are the differences between MOSFETs and Bi-Polar Junction Transistors?