Assigment 4 - partial solution