reimplement structure delete & reset