Work on chapter 7 of eloquent javascript: http://eloquentjavascript.net/1st_edition/chapter7.html