half of chapter5
chapter5 done
merge from github