further revision in chapter 2, added missing block matrices