added destroy and reset