//Methods
        #region Main
        public static async Task Main(String[] args)
        {
            try
            {
                Program.config = new ConfigurationBuilder()
                                 .SetBasePath(Directory.GetParent(AppContext.BaseDirectory).FullName)
                                 .AddJsonFile("appsettings.json", false)
                                 .Build()
                                 .GetSection("Settings")
                                 .Get <Settings>();

                using var serviceProvider = new ServiceCollection()
                                            .AddSingleton <IDocumentMetaClient, CosmosClient>((provider) => CosmosClient.CreateAsync(config.Cosmos.EndpointUri, config.Cosmos.PrimaryKey, config.Cosmos.DatabaseId, config.Cosmos.ContainerId).Result)
                                            .AddSingleton <IDocumentBlobClient, BlobClient>((provider) => BlobClient.Create(config.Blob.ConnectionString, config.Blob.ContainerName))
                                            .AddSingleton <IStoreClient, StoreClient>((provider) => new StoreClient(provider.GetService <IDocumentMetaClient>(), provider.GetService <IDocumentBlobClient>()))
                                            .AddSingleton <IFileReader, PdfFileReader.PdfFileReader>()
                                            .AddSingleton <IFileReader, TxtFileReader.TxtFileReader>()
                                            .BuildServiceProvider();

                var storeClient   = serviceProvider.GetService <IStoreClient>();
                var pdfFileReader = serviceProvider.GetServices <IFileReader>();
                Program.handler = new DocumentHandler(storeClient, pdfFileReader.ToArray());

                var menu = new List <MenuItem>()
                {
                    new MenuItem('a', "Write file", Program.WriteFiles),
                    new MenuItem('b', "Read files", Program.ReadFiles)
                };

                ConsoleMenu.Run(args, menu, new List <ArgumentOperation>());
            }
            catch (Exception ex)
            {
                System.Console.Write(ex.Message);
            }
        }