Fully commented code.