Use macro's instead of messing with internal structures