block wise update