func fprintTable(w io.Writer, db []person) error {
    const header = `<html>
  <head>
    <title>Important Contacts</title>
  </head>
  <body>
    <table border=1 style="width:100%%">
      <tr><th>Name</th><th>Address</th><th>First Number</th><th>Second Number</th></tr>
`
    if _, err := fmt.Fprintf(w, header); err != nil {
        return err
    }
    for _, p := range db {
        if _, err := fmt.Fprintf(w, "      <tr><td>%s %s</td>", p.FirstName, p.FamilyName); err != nil {
            return err
        }
        if _, err := fmt.Fprintf(w, "<td>%s %s</td>", p.Address.House, p.Address.Street); err != nil {
            return err
        }
        for _, num := range p.PhoneNumbers {
            if _, err := fmt.Fprintf(w, "<td>%s</td>", num); err != nil {
                return err
            }
        }
        if _, err := fmt.Fprintf(w, "</tr>\n"); err != nil {
            return err
        }
    }
    if _, err := fmt.Fprintf(w, "    </table>\n  </body>\n</html>\n"); err != nil {
        return err
    }
    return nil
}