Holy shit, this took way too much time.