Experiment: page 114~129, light_switch.c