structs and embedded class removed