Reset and Address exceptions

and refactoring