update to ch.4 (finish)