assignment-2: finished