finished tutorial, needs some tweaking