double list -> owned vec