chap1 from Learning Web App Development by Semmy Purewal