use deallocs instead of _teardown and _finish in all operations