reduce redundant copies