This is going to be a long one. I'll start with a little intro and try to finish this before the end of the month.