header file should be at its final stage