Assignment #4 for CSci 450