refactored the header