Add structs and methods