add chapter5 code