fixed abstract destroyInPlace