update header file macro for better maintain