changed the remaining structs to typedefs