This is Jordan Westphal's Repository for CIT260, section 3.