diff --git a/README.md b/README.md
index 3cb9fc7..a1cc918 100644
--- a/README.md
+++ b/README.md
@@ -2,281 +2,529 @@
A batch downloader for Soulseek built with Soulseek.NET. Accepts CSV files and Spotify or YouTube urls.
+## Index
+- [slsk-batchdl](#slsk-batchdl)
+ - [Options](#options)
+ - [Input types](#input-types)
+ - [CSV file](#csv-file)
+ - [YouTube](#youtube)
+ - [Spotify](#spotify)
+ - [Bandcamp](#bandcamp)
+ - [Search string](#search-string)
+ - [Download modes](#download-modes)
+ - [Normal](#normal)
+ - [Album](#album)
+ - [Aggregate](#aggregate)
+ - [Album Aggregate](#album-aggregate)
+ - [Searching](#searching)
+ - [File conditions](#file-conditions)
+ - [Name format](#name-format)
+ - [Skip existing](#skip-existing)
+ - [Configuration](#configuration)
+ - [Examples](#examples-1)
+ - [Notes](#notes)
+
+
+## Options
+
+```
+Usage: sldl [OPTIONS]
+
+ Required Arguments
+ A url, search string, or path to a local CSV file.
+ Run --help "input" to view the accepted inputs.
+ Can also be passed with -i, --input
+ --user Soulseek username
+ --pass Soulseek password
+```
+```
+ General Options
+ -p, --path Download directory
+ -f, --folder Subfolder name. Set to '.' to output directly to --path
+ --input-type Force set input type, [csv|youtube|spotify|bandcamp|string]
+ --name-format Name format for downloaded tracks. See --help name-format
+
+ -n, --number Download the first n tracks of a playlist
+ -o, --offset Skip a specified number of tracks
+ -r, --reverse Download tracks in reverse order
+ -c, --config Set config file location. Set to 'none' to ignore config
+ --profile Configuration profile to use. See --help "config".
+ --concurrent-downloads Max concurrent downloads (default: 2)
+ --m3u