Are you sure it could not have been kept as it was? Is it vital to be able to avoid unlink?