programming assigment 2