don't call cleanup as it is already registered with atexit