chapter 4 - modules etc