block algo