modified allocate

now the previous free block should point to the next free block