chpter 9, not finished.