Re-design struct define system