Homework 0 - part1, part2, part3.