How does an NPN transitor work?