public virtual void SetUp()
        {
            // create testing client application
            ClientApp = new ClientApplication(
                UnisavePreferences.LoadOrCreate()
                );

            // prepare environment
            var env = new EnvStore();

            DownloadEnvFile(env);

            // create testing backend application
            App = Bootstrap.Boot(
                GetGameAssemblyTypes(),
                env,
                new SpecialValues()
                );

            // execute backend code locally
            ClientApp.Singleton <FacetCaller>(
                _ => new TestingFacetCaller(App, ClientApp)
                );

            // logging should go direct, we don't want to wait for app disposal
            // for writing logs to special values
            // HACK: this is a hack, see the ClientSideLog class for more
            App.Singleton <ILog>(_ => new ClientSideLog());

            // bind facades
            Facade.SetApplication(App);
            ClientFacade.SetApplication(ClientApp);

            // start with a blank slate
            ClientApp.Resolve <ClientSessionIdRepository>().StoreSessionId(null);
            ClearDatabase();
        }