Well that just turned into an insane amount of work