apply @pyrotechnick's temporary var technique to reduce GC load
1.0.1