refactored hd_wallet and created extended_address object