adding shitloads of new stuff i don't understand lol