new solution, nearly complete chapter 1