First version with support for batch changes