Programming assigment 1