public async Task SetupTKK()
        {
            XUnityWebResponse response = null;

            _cookieContainer = new CookieContainer();

            try
            {
                var client  = new XUnityWebClient();
                var request = CreateWebSiteRequest();
                response = await client.SendAsync(request);
            }
            catch (Exception)
            {
                return;
            }

            // failure
            if (response.Error != null)
            {
                return;
            }

            // failure
            if (response.Data == null)
            {
                return;
            }

            InspectResponse(response);

            try
            {
                var html = response.Data;

                string[] lookups = new[] { "tkk:'", "TKK='" };
                foreach (var lookup in lookups)
                {
                    var index = html.IndexOf(lookup);
                    if (index > -1) // simple string approach
                    {
                        var startIndex = index + lookup.Length;
                        var endIndex   = html.IndexOf("'", startIndex);
                        var result     = html.Substring(startIndex, endIndex - startIndex);

                        var parts = result.Split('.');
                        if (parts.Length == 2)
                        {
                            m = long.Parse(parts[0]);
                            s = long.Parse(parts[1]);
                            break;
                        }
                    }
                }
            }
            catch (Exception)
            {
                // hard to warn...
            }
        }