html.c - nearly complete