added programming assignment 2