cs312Assignment2