Assignment 3 of CS1102