nicer to reset instead of raising an exception.