Completed programming assignment 2 - final