version 2 programming assignment 2