lots of comments and some bug fixes