For final assignment
Holy fuck that was confusing