Assignment2: done