Assignment 2a, 2b, 2c 2, 2d