# Theming Material Components Web in 3 minutes
As someone who's not too familiar with the front-end, I struggled to get basic themes working on Material Components Web. So to save you the trouble, here's what you need to do.
### Pre-requisites
You need Node.JS. We're going to assume that you have this already.
### Install sass
```bash
npm i -g sass
```
### Install components you need
Install into your project.
```bash
npm i --save @material/button
npm i --save @material/chips
npm i --save @material/radio
# etc.
```
### Create an .scss file
You can call it anything you want, say app-theme.scss. In this file, you will be able to customize Material Components by reassigning color/other variables.
This is how you do it:
```css
@use "@material/theme" with (
$primary: #689f38,
$secondary: #e64a19,
$on-primary: #fff,
$on-secondary: #fff,
);
```
Below it (in the same scss file), add all the components you want to use:
```css
@use "@material/shape";
@use "@material/button/mdc-button";
@use "@material/checkbox/mdc-checkbox";
@use "@material/chips/mdc-chips";
@use "@material/data-table/mdc-data-table";
@use "@material/drawer/mdc-drawer";
@use "@material/fab/mdc-fab";
@use "@material/form-field/mdc-form-field";
```
### Compile it
Include your node_modules directory with the -I option since that's where the material components have been installed. The following example assumes you're in the project's root directory, and you've installed @material/components as mentioned earlier.
```bash
sass path/to/app-theme.scss -I node_modules/ > path/to/output/theme.css
```
### That's it
Include output/theme.css in your html page.