version 1 programming assignment 2