implemented uninitialize, its omehow ugly