added most of header