bug fix: use book.settings, not self.settings which refers to Environment.settings