Assignments 3 + improvements