assignment 2 for CS 148