almost done with assignment #4