block for read