implemented new/reset