slightly updated assigment 1