I am going to edit everything in the end :(