do not use NULL. use temporary file when extracting
unconditionally unlinkbefore creation
free tmpname if allocated
make sure extract always extracts files at pwd