Implemented assignments 1 and 2.