Added more information and some rewrite.