structs are stored as list