improvements to batch updating