Added lots of comments/documentation. That hurt.