add struct from chapter 6