Use base structs and embedding.