C# Corner

Resources  
  • SharePoint Hosted Add-In using SharePoint 2016 OnlineFeb 23, 2018. Please follow the below steps to create the SharePoint hosted add-in on SharePoint online. Prerequisites: You must have an Office 365 account (either trial or paid).
  • Overview Of Generative Adversarial NetworksFeb 23, 2018. Once trained, Neural Networks are fairly good at recognizing voices, images, and objects in every frame of a video – even when you are playing the video. Let’s say you are not able to buy an expensive painting from a famous painter; can you create/generate an artificial painter who can paint like any famous artist by learning from his/her past collections? The answer is Yes – using Generative adversarial networks (GAN) you can. Generative Adversarial Networks (GANs) are a class of algorithms used in unsupervised learning -- you don’t need labels for your dataset in order to train a GAN.
  • Emotion Detection In Xamarin Forms By Using Azure Cognitive ServicesFeb 21, 2018. Cognitive services make our applications more intelligent, attractive and discoverable. We can create lots of apps for our clients in just a few hours by using these services. The goal of Cognitive Services is to democratize AI by packaging it into discrete components that are easy for developers to use in their own apps.
  • Creating PDF In ASP.NET Core MVC Using Rotativa.AspNetCoreFeb 20, 2018. In this article, we are going to learn how to use Rotativa.AspNetCore tool to create PDFs from Views in ASP.NET Core. If you have worked with ASP.NET MVC, the Rotativa tool is already available there, which we can use for generating pdfs.
  • All About Appsettings.json In ASP.NET Core 2.0Feb 19, 2018. This article talks about the use of maintaining multiple configuration files for a single solution file and how to do this.
  • Web Services Using C# - Creating Web ServicesFeb 19, 2018. An XML Web service should be identified by a namespace that is controlled by its company. For example, a company's Internet domain name could be used as part of the namespace. Although many XML Web service namespaces look like URLs, they need not point to actual resources on the Web.
  • VLFs - The Forgotten FoeFeb 19, 2018. How many of you check the amount of Virtual Log Files (VLFs) your transaction logs have?
  • Introduction To Angular PipesFeb 19, 2018. This article explains how to use Angular built-in pipes like uppercase, lowercase, titlecase, date, percent, number, currency, slice and json pipe and how to create your customized pipes as well.
  • How To Manage Externally Shared Contents In SharePoint OnlineFeb 18, 2018. Anonymous access to the SharePoint Online site has been removed for more than a year. Instead, Microsoft allows us to share the files or folders from SharePoint Online to external users. This configuration can be done in the Office 365 admin portal and SharePoint Online to enable or disable sharing.
  • Download User License Information For PowerApps And Microsoft FlowFeb 16, 2018. PowerApps is one of the services available in the Office 365 environment that enables us to create apps or forms for business and other uses without coding experience. We can connect against external data sources like SQL, SharePoint, Salesforce, etc... to develop an application. PowerApps has its own data source called Common Data Service.
  • WPF - Dropdown Menu/Combobox Menu Data Binding Using Text FileFeb 16, 2018. This article is about WPF dropdown menu/combobox menu data binding using text file
  • Creating Comment Form Using React, Redux, Webpack, BabelFeb 16, 2018. In this article, we will create a simple comment form that displays a list of comments and allows the user to enter a new comment using React, Redux, Webpack, Babel. We will be using below Tools/libraries to build the application.
  • Upload A File To SharePoint From PowerApps Using FlowFeb 15, 2018. In this article, we are going to see how to upload a file to SharePoint from PowerApps.
  • Building SPA Using AngularFeb 15, 2018. I have created SPA using Angular.js because I had requirement where user can update monthly activities corresponding to their respective villages. I named the application as Continuous Quality Improvement Tracker (CQI).
  • Deploying VM Using ARM TemplateFeb 14, 2018. Azure Resource Manager (ARM) Templates are JSON files which define the resources which you need to deploy for your solution. ARM templates are community contributed and can be used by anyone from GitHub. This repository holds various predefined ARM templets to choose from has per your needs. But to get started with ARM templates we will be configuring a simple virtual machine deployment from scratch so we can understand easily.
  • ASP.NET MVC - Export PDF Document From View PageFeb 13, 2018. In this article, we will learn how we can export view page to PDF using Rotativa framework. Rotativa is an open source framework created by Giorgio Bazio in order to export view page to PDF. This framework is based on wkhtmltoPDF tool which is used to generate PDF from HTML view page.
  • Pipes In Angular 5Feb 13, 2018. In this article we will be discussing Pipes in Angular 5. Pipes are the operators which is used to format data in Angular. This comes from the symbol (|) used to do this operation. Pipes are there in Angular from Angular2 onwards. But it has evolved over the period of time. There are many inbuilt pipes available in Angular 5 and it gives an easy template to create your own pipe using @angular/cli.
  • Generate Word Document Using C#Feb 11, 2018. In this post, we will learn how to use DocX library to create a Word document from Visual Studio using C# language.
  • Creating An Azure Database For PostgreSQL ServerFeb 11, 2018. In this article, I am going to demonstrate how to create a database in Azure for the PostgreSQL server in the Azure Portal.
  • Creating And Configuring A MySQL Server On The Azure PortalFeb 10, 2018. This article demonstrates how to create a MySQL database on the Azure Portal.
  • Amazing Guide To SharePoint Framework Development With React - Part TwoFeb 09, 2018. In my previous article, we walked through how to create a SharePoint Framework web part with React to display the mockup contents step by step. We will continue the same source for displaying the SharePoint data in the web part.
  • Top 10 Most Popular Charts In Angular With .NET Core APIFeb 09, 2018. This article explains how to create charts in an Angular application.
  • WPF - File Menu User ControlFeb 08, 2018. This article is about the development of WPF File Menu User control.
  • Channel Configuration - Azure Bot Service To Slack ApplicationFeb 08, 2018. This article explains how to configure Azure Bot Service to Slack Applications. We will get a clear idea about how to create a Bot Service in Azure.
  • Introduction To LINQ With Entity Framework In Visual StudioFeb 08, 2018. LINQ queries are similar to SQL query created for developers to maintain standardized coding approach. It deals with the data objects therefore it is similar to OOPs.
  • How To Create A Basic Bot Using Bot Service In Azure PortalFeb 07, 2018. Bot Service allows you to create, connect, test, deploy and manage bots from your browser. It also provides the Bot Builder SDK for developing bots and the Bot Framework for connecting bots to channels. You can use five default available bot templates to get started with building bots.
  • Build InfoPath Form On Existing SharePoint ListFeb 06, 2018. An easy step by step procedure to create a InfoPath form on an existing SP list
  • Send E-Mail Android Application TutorialFeb 06, 2018. Hello all, in this article we will learn how to create an Android app which will send email using any email client. In this tutorial we are using the intent service of android which will help us to send email. Intent is very useful in android development as it helps us to call services which we need like calling, sms, gps, etc. It has a wider role in android.
  • Multiple Submit Buttons In ASP.NET MVCFeb 06, 2018. Let's learn how to create multiple "Submit" buttons in ASP.NET MVC.
  • Properties Of Object.prototype In JavaScriptFeb 05, 2018. Object.prototype is used to inherit properties and methods to the Constructor method, it may be overridden. We can use any constructor to create the object of another type with the help of Object.create() method and assign to the new constructor prototype.
  • Automating SVN Check-Ins And Building A Project Via JenkinsFeb 05, 2018. A few weeks back, while sitting with my team, I learned that they run a Jenkins job which has to execute the automation scripts using the robot framework, daily around 1:00 a.m. The primary purpose of the job is to place all the necessary files and folders over the node machine of Jenkins (after copying them from the machine pointed as master on Jenkins), execute those scripts accordingly, generate the reports, and finally copy the output files back to the master machine to analyze the logs for the overall reporting and analysis purposes. This whole efficient job starts with a slack manual step which was enough to tag this activity 'not fully automated' because they had to place the updated work regularly on the specified path over the master machine before leaving the office (this includes taking the updated code, files, and automation scripts, building the project to take the DLLs etc.). This may sound tedious but more than that, there is no sense to do it manually.
  • How To Create A Simple Approval Flow For SharePoint List From Built-In TemplateFeb 05, 2018. Microsoft Flow is a service that helps you create automated workflows between your favorite apps and services to synchronize files, get notifications, collect data, and more.
  • Object In JavaScript With Function, Constructor, Function Constructor And Function HoistingFeb 04, 2018. In Javascript everything is Object, except for primitive values. In Javascript we can create an Object Wrapper through Object constructor. Whatever value we give or assign to variable the Object constructor creates an Object wrapper for that.
  • Creating Reusable Web Component And Using It With AngularFeb 03, 2018. In this post, I want to talk about the web components (Reusable) and why they are very useful to an organization, especially a large organization.
  • CRUD In Excel File In C#Feb 02, 2018. In this article, I am going to explain how we can CREATE, UPDATE, DELETE and READ the records in Excel files.
  • Blob Security On Azure Storage - Part ThreeFeb 01, 2018. Shared Access Signature is shortly called as SAS, SAS is a URI that grants restricted access rights to Azure Storage resources, you can provide a SAS to clients who should not be trusted with your azure storage account key but whom you wish to delegate access to certain storage account resources. By distributing a shared access signature URI to these clients, you can grant them access to resource for a specific period time. The Service – Level SAS delegates access to a multiple storage services like blob, files, tables and queues.
  • Getting Started With Razor Pages In ASP.NET Core 2.0Feb 01, 2018. Today, we will talk about more about Razor pages - what actually a Razor page is, how to create Razor page applications, and some of the fundamentals of Razor pages.
  • CRUD Operation In MVC Using Kendo UIFeb 01, 2018. In this article, you will learn how to fully enable the Create, Read, Update, Destroy (CRUD) data operations in the Grid in Asp.Net MVC using Kendo UI.
  • Azure Blob Storage Service - Uploading A Blob And Set Container Propertied With Metadata - Part TwoJan 31, 2018. This article assumes that you already have an Azure Storage Account created and the solution file for Visual Studio which was created in the previous demo.
  • Performing CRUD Operations On Azure SQL Database Using SharePoint Framework Web Part And ASP.NET Web API - Part TwoJan 30, 2018. Normally, you would want to put your css classes in the .scss file (i.e. YourWebpartName.scss) and import it into the YourWebpartName.ts file (this is actually done automatically during project creation). But I decided to put it in a SharePoint list because my css selectors are grouped and I could not reference them using "styles.selector".
  • CRUD Operations In SharePoint REST API Using jQuery AJAXJan 30, 2018. In this article I explain how to make create, read, update, and delete operations of sharepoint list items over HTTP requests.
  • ASP.NET Core 2.0 IdentityJan 30, 2018. In a previous post, I showed how to use cookie authentication middleware to protect your web application. ASP.NET Core also provides a richer set of services, called Identity, to work with user authentication and management scenarios. For instance, in addition to authentication and password hashing, it provides features for registering new users, creating forgot & reset password tokens and their validation, two-factor authentication and authentication using external providers.
  • Build Angular App With .Net Core 2.0 Template(VS 2017) + Deploy On Azure - Step By Step GuideJan 30, 2018. In this article, we will see how to create your Angular application using Visual Studio 2017(.NET Core 2.) and will deploy it to Azure.
  • Creating Survey Using Microsoft Form Web Part In Modern Communication SiteJan 29, 2018. In this article, we will learn how to create a Survey and display survey results using Microsoft forms web part in Modern Communication Sites
  • Slider View In Xamarin.iOSJan 29, 2018. In this article, we will create a Xamarin iOS application that will create the slider view using the page control and scroll view.
  • Creating A WordPress Web App On AzureJan 29, 2018. Today, we will be looking into creating a WordPress Web app on Azure.
  • How To Validate XML Using XSD In C#Jan 29, 2018. Extensible Markup Language (XML) is used to describe data. The XML standard is a flexible way to create information formats and electronically share structured data via the public Internet, as well as via corporate networks. The XML tags are not pre-defined in XML. You will have to create tags according to your needs.
  • CRUD Operations In SharePoint Using REST API - Delete OperationsJan 29, 2018. The previous blogs demonstrated the “Create”, “Read” and “Update” operations of REST API in SharePoint. This is the last blog of this series and explains the “Delete” operation of a list item.
  • Azure CDN With Azure StorageJan 29, 2018. From this article, you will learn how to create an Azure CDN with Azure Storage.
  • Xamarin iOS AlertJan 28, 2018. In this article, we will create a Xamarin iOS application. We will learn how to use UIAlert Controller in order to give messages to the user and ask what operations the user wants to proceed with. This application will contain three buttons, clicking on which will open an alert, which may be a simple alert, an alert with actions, or an alert action sheet.
  • Customize SharePoint List Form In A Wizard StyleJan 27, 2018. In this example, we will create a list and show the list columns in a wizard style.
  • Retrieving List Items From A Specific View Using CSOMJan 25, 2018. In this article, you will learn how we can access the SharePoint data using Client Object Model. Here, I have taken an example of getting the data from SharePoint list specific View. Using this, we can create our own custom View with necessary fields and access them.
  • Shared Storage With Azure Virtual MachineJan 25, 2018. This article briefs you about Shared Storage in Azure and how to use Shared Storage in multiple Azure VMs.
  • Azure Virtual Machine With PowerShell And Desired State ConfigurationJan 24, 2018. This article describe how to create Azure VM with PowerShell. The article is also extended a bit to explain why Azure Desired State Configuration is very useful while working with Azure VM and how to implement Desired State Configuration with Azure VM
  • CRUD Operations In SharePoint Using REST API - Update OperationsJan 24, 2018. In the previous blogs, we had a look at the “Create” and “Read” operations in this series of CRUD Operations in SharePoint using REST API. In this blog, we will explain the “Update” operations.
  • SharePoint Online Automation - Increase SharePoint Storage Quota In SharePoint Online Using PowerShellJan 24, 2018. As we know when a site collection is created in SharePoint online, we must specify a storage quota. This site size value must be between 100 MB and 100 GB. We will discuss more about site collection quota and usage in the next article.
  • Dynamic Menu Generation With Web API And AngularJan 24, 2018. In this article, we are going to implement a dynamic menu with the help of ASP.NET Web API and Angular. We will create the login page that has two login type. Admin and User. Admin login will lead to some different menu items and User login will come up with different menu items.
  • SharePoint Online Automation - O365 - Upload Your Files Remotely Using PowerShell To SPO Document LibraryJan 23, 2018. Continuing with SharePoint Online Automation, today, I am going to demonstrate “O365 SharePoint Online- How to Upload your files remotely using PowerShell to SPO document Library”.
  • SharePoint Online/2016/2013 - How To Upload Large Files Using PowerShell AutomationJan 22, 2018. Uploading large files to SharePoint On-Premise or Online is an obvious problem during data migration from any external system like Lotus Notes.In this article I will explain a data upload strategy where we can split a large file into multiple chunks of smaller size.
  • ASP.NET Core 2.0 - Implementing A Third Party Web APIJan 22, 2018. A common task for a developer when working with or building an application is implementing and interacting with APIs. In this post we will look at what an API is. We will then move onto creating our own .NET Core 2.0 Web API that implements a 3rd party Web API.
  • Top 10 New Features Of ASP.NET Core 2.0Jan 22, 2018. .NET is now .NET Core and known as cross-platform and open source platform where you can build your all types of applications. An application could be a web app, desktop app, mobile app or gaming app. All type apps can be created using a single platform and it’s none other than .NET Core.
  • Swipe Table Cell To Perform RowAction In TableView In Xamarin.iOSJan 22, 2018. In this article we will learn how to create an IOS application using Xamarin. We will learn how to add and work with table view and its row swipe action. We will have a table of content and we will swipe the row to left to perform an action.
  • JavaScript Powerful Property DescriptorsJan 21, 2018. We developers assume that an object’s property is only a container that can be assigned a name and a value. In actuality though, JavaScript gives us a series of powerful property descriptors that further shape how the property behaves. To demonstrate this, let's create a JavaScript object by using object literal.
  • Azure Storage - Creating A Container Using Visual StudioJan 20, 2018. This writing is a continuation of my previous one in which I have written in detail about Azure Storage, please spend some time on the previous article of mine.
  • FAQ based Bot Application Using QnA Maker - Part OneJan 19, 2018. QnA Maker is rest based cognitive services which help to train and create the knowledge base. It can be easily incorporated using Bot Framework
  • Publish Nuget Packages In .NET CoreJan 19, 2018. Now that you have a registry and key to upload your packages, let’s create and push a package. I am using here a simple .NET Core class library I wrote to work with CSV files, the source code can be found on GitHub. You can of course use any of your projects.
  • CRUD Operations In SharePoint Using REST API - READ OperationsJan 19, 2018. In the previous blog, we had a look at the “Create” operations in this series of CRUD Operations in SharePoint using REST API. In this blog, we will have a look at the “Read” operations.
  • ASP.NET Core 2.0 - Applying Bootstrap TemplateJan 18, 2018. This article walks you through the steps for creating an ASP.NET Core 2.0 Web Application using Bootstrap as the template for layout.
  • CRUD Operations In SharePoint Using REST API - CREATE OperationsJan 18, 2018. REST API is a powerful CSOM concept that can be leveraged in SharePoint for converting sophisticated business designs into working and efficient SharePoint Artifacts (Add-Ins, CSOM solutions, etc.). REST does not require any separate references for its working unlike other frameworks (SPservices!)
  • Toolbar In Xamarin.iOS Application ViewJan 17, 2018. In this article, we are going to create Xamarin application that contains toolbar item with respective tools and functionality. Tools like add, edit, refresh, search in form of icon or text can be applied on the toolbar and the required specific functionality can be added with its event.
  • Activity Indicator In Xamarin.iOSJan 17, 2018. In this article, we are going to create a simple xamarin.Ios application that will have the activity indicating some background task is going on. We will use activity indicator that will animate on the specific duration indicating some calculation, or functionality is executing on background. It lets the user know some background task is going on.
  • Database First In .Net Core 2.0 CRUD Operation - Part OneJan 17, 2018. In my previous post, I have explained how to create an Angular 5 application in Visual Studio 2017 using .NET Core templates which you can find here.
  • App.Config AutoReaderJan 17, 2018. In our day to day development, it is a rare case where we don’t need to read a configuration file. There are many techniques for the treatment of such static classes, singleton classes, etc and it is normally that the Config class is accessible in all projects.
  • SharePoint Online Search Results - Sort By TileJan 16, 2018. Search is more commonly used to display the results in SharePoint Portal based on the business needs by configuring the search query. To make more sense out of the search results, they are commonly sorted on key attributes like Modified Date, Created Date, Title, etc.
  • How To Create An App Packages In UWP ProjectJan 16, 2018. In this article, we will learn the very simple way to create an app package in UWP application.
  • Create Your First ASP.NET Core 2.0 Service Fabric Container Application In WindowsJan 16, 2018. Learn how to create your first ASP.NET Core 2.0 Service Fabric Container application in Windows.
  • Segmented Control In Xamarin.iOSJan 16, 2018. In this article, we are going to create a Xamarin iOS application that contains UI Segmented control that let the user select the value between the certain range of values. We will create a simple application that contains the set of values and a user can select values among the available values.
  • Basics Of Angular And Its Versions - Part TwoJan 15, 2018. Module is nothing but a package like a package in Java, a namespace in C# and like a header-file in C / C++. Java, C#, and C++ have their own modularity system which contains classes, interfaces, enumerations etc. In the same way, Angular also has its own modularity system called NgModules which helps to organize an application into adhesive blocks of functionality. Every Angular application should have at least one NgModule and the root module is called AppModule.
  • How To Create A Site Collection in SharePoint OnlineJan 15, 2018. A site collection is the group of websites under a common top-level site with the same owner on the site administrator. To create a site collection for deleting a site collection in Office 365 is easy to do.
  • Bulletproof Disposable Types In .NET CoreJan 14, 2018. Whenever I do code review on .NET projects, hands down the number one issue is developers not calling .Dispose() on disposable objects. Ever since .NET was released, I have been preaching how important this is. If not done properly, it’s most likely to create virtual memory issues that will eventually cause the application to stop and possibly freeze server or users’ computer.
  • ASP.NET Core 1.0 - Change Bootstrap Layout In Three StepsJan 14, 2018. This article walks you through the steps for creating a ASP.NET Core Web Application using Bootstrap as template for layout and changing it to a new one.
  • Create Site Collection In SharePoint Online Using PowerShellJan 13, 2018. In my last article, I have demonstrated about how to create Site Collection in SharePoint Online Using GUI, today I am demonstrating “Create Site Collection in SharePoint Online Using PowerShell”.
  • Angular 5 CRUD Operation Using Node, Express, MongoDBJan 13, 2018. In this article, we’ll learn to create basic CRUD application using angular 5, Nodejs, Express and Mongodb nosql database.
  • Create Your Own KernelJan 13, 2018. In this article, we will create a simple kernel in C from scratch.
  • Drawing Pad or Signature Pad For Android Using Xamarin.FormsJan 12, 2018. This article will explain how to create a drawing pad or signature pad for Android OS using Xamarin Forms.
  • SignalR Chat App With ASP.NET WebForm And BootStrap - Part ThreeJan 12, 2018. In a previous article we have learned how to create a real-time chat application using SignalR and Bootstrap. So far we learned creation of group chat, Creation of Private Chat, Title Bar Notification Alert system, Message Count and Clear Chat History. And now we are going to learn the most trending feature in Chat Application which is “Emoji” or “Smiley” which makes our application more interactive.
  • Bind Menu And Sub Menu Dynamically In ASP.NET MVC From Database Using LINQJan 12, 2018. Many times we need to create a menu for a simple application. We ususally get stuck on how to bind the menu. Here in this article we you will learn how to bind menu and sub menu dynamically in ASP.NET MVC from database using linq.
  • Create An Intelligent Bot Application Using Microsoft Bot FrameworkJan 12, 2018. In our previous article, we learned how to create and connect a chatbot with Azure Bot Service. But in this article, we are going to create an intelligent Bot Application using Microsoft Bot Framework.
  • Azure CLI With Demo Creating VM Using Azure CLIJan 12, 2018. This articles shows a demo of creating virtual machine in Azure using Azure CLI with explanation of Azure CLI cmdlets.
  • Create Your First Bot Using Visual Studio 2017 - Step By Step GuideJan 11, 2018. Seeing how fast the companies are adopting the Bots, it is really the best time for you to start learning Bot framework and start adopting Bots for your business.
  • Creating REST Service Using Flask And PythonJan 11, 2018. This article will explain to create REST service by using Flask framework and Python.
  • How To Create And Use A Blurred Image In Xamarin.FormsJan 11, 2018. This article demonstrates how to create and use a blurred image in Xamarin.Forms, XAML, and C#. This article starts with the introduction of the Blurred Image tag in XAML.
  • Draggable Panel In An Android ApplicationJan 10, 2018. This article demonstrates how to create a draggable panel in an Android application using Android Studio.
  • How To Create An Angular Service And Access It In Multiple ComponentsJan 10, 2018. In our previous article, we developed a single page application using Angular 4. Now in this article, we are going to talk about services.
  • How To Configure User Profile Service Application Step By StepJan 10, 2018. In the last article I described about how to delete and create User profile service, today I'm demonstrating about how to configure UPA service application step by step with a screen shot. This articles applies to SharePoint 2010, 2013 and 2016.
  • Using Bitbucket Extensions With Visual Studio 2015Jan 10, 2018. In this article we are going to learn how to use Bitbucket Extensions with Visual Studio 2015, in the previous article we have learned how to create Bitbucket account and new repositories and push repositories to remote Bitbucket account but in that it was all manual process, but if we get little automation in it that we are going to love it right, in this part we are going to add Bitbucket Extensions to project from visual studio “Extensions and Updates” and work little faster.
  • How To Take Screenshot Using jQuery And PHPJan 10, 2018. Hello all, today in this article we will learn how to take screenshots using jquery and php. So, basically we will create a webpage and in the webpage we create a button which will take screenshot using the help of library called html2canvas . So once we take the screenshot we will save the screenshot in a json file using the help of jquery, javascript and php. We will be using for jquery and javascript to handel client side request and php to handel server side request. We will also learn about file handling using php.
  • Xamarin.Android - Circle ProgressBar In AndroidJan 10, 2018. In this article, you will create Android App on circle progressbar
  • Introduction TO PowerApps And Creating Template With ItJan 09, 2018. PoweApps is a collection of software services and apps that work together to fundamentally transform and accelerate. It is provided by Microsoft as a service under Office 365 for non-technical users (no coding experience is required) to build business apps. It can be simple and fast.
  • Angular Material Design Components With Reactive Forms - Part OneJan 09, 2018. This is a demo for using Angular Material Design Components with Angular 5 that creates an attractive UI and enhances the app's performance.

About create-binary-file

NA
Web Development Outsourcing
Looking to add more bandwidth to your software team? Web Developers, designers, testers are now available on demand. Flexible hours, very competitive rates, expert team and High Quality work.