implement reset