add ch03 codes
add ch04 codes