i think i have all the struct definitions defined