chapter 1 - basic setup