Week 3 - Data Structures, part II and refactor.