Updated programming assignment 2