Progamming assigment 2