support customized header