Refactor Address and its spec