updated based on comments by @jexp, added TOC