Can't you make it more efficient by not reexpanding what you already have?