remade the block initialization