push2: rearrange and separate header file material