Reorganize native stuff and add CFlexibleStruct