3.2 Writing from Scratch