read structs as values