normalize, header portion is mostly fixed