Complete redo on section 3.2