added lots of comments, set up marginalia