add a HeadData class to reduce redundancy for head member variables