Refactor to avoid destructering of move vectors