lecture 5.5 and 6.1
lecture 6.2