i made this with the massive help of the internet