some design polishing and TOC added