allocate_block implemented