up to ch16.4
finished oop ch17