CS104 lab 12