tutorial cut off halfway through, I'm going to try to figure out the rest on my own