a whole bunch of documentation/comments