I remember 'finalize' does not guarantee to be called?