Implemented up to chapter 8