through nested structures