/// <summary>
        /// Retrieves the account information
        /// </summary>
        /// <param name="callback">Callback executed after the information has been retrieved</param>
        public void GetAccountInfo(Broker.AccountCallback callback)
        {
            Client.DownloadAllAccounts().ContinueWith((accounts) =>
            {
                if (accounts.IsCompleted && !accounts.IsFaulted)
                {
                    RobinhoodAccount                   = accounts.Result[0];
                    Broker.Account account             = new Broker.Account();
                    account.BuyingPower                = RobinhoodAccount.BuyingPower;
                    account.Cash                       = RobinhoodAccount.Cash;
                    account.CashAvailableForWithdrawal = RobinhoodAccount.Cash - accounts.Result[0].CashHeldForOrders;
                    account.CashHeldForOrders          = RobinhoodAccount.CashHeldForOrders;
                    account.UnclearedDeposits          = RobinhoodAccount.UnclearedDeposits;
                    account.UnsettledFunds             = RobinhoodAccount.UnsettledFunds;

                    Client.DownloadSinglePortfolio(RobinhoodAccount.AccountNumber).ContinueWith((portfolio) =>
                    {
                        AccountPortfolio p = portfolio.Result;
                        account.TotalValue = p.Equity;
                        callback(account);
                    });
                }
                else
                {
                    callback(null);
                }
            });
        }