for bug #199, refine the header generate