refactor address list

@jeremy @bf4 @mikel 
added tests