finish ch2
finish ch3