try to leak less on exception