assignment 1, finally