abort on destructor, more opacity checks