add solution to programming assignment