split structs/prototypes in separate file; add parse functions