nested structs are indeed dangerous