completes tutorial 2 and has a working main (thought it's pretty boring)