Please don't go into my terrible coding