This is significantly faster and more efficient