This is going to be really long. #include Didn't I warn you!