Programming assigment 2