add offsetof support