refactoring: generalize AddAdress