Wow, this is a long post.