revised version of cspp52553 final project test submission