using transaction or batch update