+ assignment #2 for progfun