more changes for conditional struct return into *A3