add ShutdownHook