refactoring for new header