Assignment 2

Assignment 2 Version 1.1
Add detailed comments