code for CS 305