Fully commented, and ready to go