This is programming assignment 2