Making demo behave more like final product with multiple structs