most of header done