working copy of programming assignment 2