Complete up to section 5.3.4