although it is a little sloppy, very informative post.