add more sections, and some code snippets