diff --git a/Cargo.lock b/Cargo.lock
index ffcf14ab2f20c0e5729ffbb85f57f42fd9cb1ca9..60fc49ecf5e4727d10380de13f5cb8ab572c132e 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -37,9 +37,10 @@ dependencies = [
 
 [[package]]
 name = "awatch"
-version = "0.1.0"
+version = "0.3.1"
 dependencies = [
  "alphanumeric-sort",
+ "colored",
  "failure",
  "failure_derive",
  "lazy_static",
@@ -107,6 +108,17 @@ dependencies = [
  "vec_map",
 ]
 
+[[package]]
+name = "colored"
+version = "1.9.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f4ffc801dacf156c5854b9df4f425a626539c3a6ef7893cc0c5084a23f0b6c59"
+dependencies = [
+ "atty",
+ "lazy_static",
+ "winapi",
+]
+
 [[package]]
 name = "failure"
 version = "0.1.7"
diff --git a/Cargo.toml b/Cargo.toml
index d3a965dbbe2f0d03c595cbdfbcc2f6e42292e533..a2eb793321d5ad3b770a533fdb7c16c40d2a1c5e 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "awatch"
-version = "0.1.0"
+version = "0.3.1"
 authors = ["Pavel Kirilin <win10@list.ru>"]
 edition = "2018"
 
@@ -17,4 +17,5 @@ lazy_static = "1.4"             # Define lazy static vars.
 alphanumeric-sort = "1.0.12"    # Used to search for videos.
 regex = "1"                     # Regular expressions.
 termion = "1.5.5"               # For interacting with terminal.
-term_grid = "0.1.7"             # For showing matched files while initialization
\ No newline at end of file
+term_grid = "0.1.7"             # For showing matched files while initialization
+colored = "1.9"                 # For terminal coloring
\ No newline at end of file
diff --git a/src/cli.rs b/src/cli.rs
index 2b834bc955ca371ab6f74fdc64d8e93b5db878cd..55e7eeb1d2308c548dccb3dad53bcae45d2270f7 100644
--- a/src/cli.rs
+++ b/src/cli.rs
@@ -20,4 +20,6 @@ pub enum RunMode {
     Next,
     #[structopt(name = "update", about = "Update saved config")]
     Update,
+    #[structopt(name = "reset", about = "Set episode to 0")]
+    Reset,
 }
\ No newline at end of file
diff --git a/src/main.rs b/src/main.rs
index 6dab83696c97345d275fa6bd7e9c35a022ffc385..0c41364a66ed39b6ac03b8007cd43cbcece365bd 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -15,6 +15,7 @@ use structopt::StructOpt;
 
 use crate::run_modes::run;
 use crate::result::AppResult;
+use colored::{Colorize, Color};
 
 pub mod result;
 pub mod config;
@@ -26,6 +27,12 @@ include!("cli.rs");
 
 fn main() -> AppResult<()> {
     let opt: Opt = Opt::from_args();
-    run(opt)?;
+    if let Err(error) = run(opt) {
+        println!("{dashes} {title} {dashes}",
+                 dashes = "#######".color(Color::BrightRed),
+                 title= "Error".color(Color::BrightRed)
+        );
+        println!("{}", error);
+    }
     Ok(())
 }
diff --git a/src/result.rs b/src/result.rs
index a3d9495b2a8052641cc298dbb808d5093dc15fef..c8aff76dea959dbfc6d42ba7b4f143b850e7260f 100644
--- a/src/result.rs
+++ b/src/result.rs
@@ -6,7 +6,7 @@ pub enum AppError {
     StdErr(String),
     #[fail(display = "Config processing failed: {}", _0)]
     ParseError(String),
-    #[fail(display = "Error was found: {}", _0)]
+    #[fail(display = "{}", _0)]
     RuntimeError(String),
 }
 
diff --git a/src/run_modes.rs b/src/run_modes.rs
index eb58c2536483941d715116824ea7048313d3e61c..a4acc8299992916796c1ac856617c81775a53281 100644
--- a/src/run_modes.rs
+++ b/src/run_modes.rs
@@ -2,7 +2,7 @@ use crate::{Opt, RunMode};
 use crate::result::{AppResult, AppError};
 use crate::initialization::init_config;
 use crate::config::{update_episode, update_config, Config};
-use std::process::{Command};
+use std::process::Command;
 
 pub fn run(opts: Opt) -> AppResult<()> {
     let mode = opts.mode.unwrap_or_else(|| RunMode::Play);
@@ -22,6 +22,9 @@ pub fn run(opts: Opt) -> AppResult<()> {
         RunMode::Update => {
             update_config()
         }
+        RunMode::Reset => {
+            update_episode(|_| { Ok(0) })
+        }
     }
 }
 
diff --git a/src/tty_stuff.rs b/src/tty_stuff.rs
index c7b873716d26840041abc0017541bd89e2429b7d..b89ead4a55534dcb6efb592ef399b4be06e98f62 100644
--- a/src/tty_stuff.rs
+++ b/src/tty_stuff.rs
@@ -124,7 +124,6 @@ pub fn read_tty_line(
             Key::Char(c) => {
                 buffer.insert(current_pos - 1, c.clone());
                 current_pos += 1;
-                println!("{:#?}", c);
             }
             Key::Backspace => {
                 if let Some(pos) = current_pos.checked_sub(2) {