note on wrapping structs