update with blocks