programming assignment 2 rev A