How do semiconductors work?