From a283fe7c9e76a03735dbfa3d17f8f4a34cfea8e8 Mon Sep 17 00:00:00 2001
From: chylex <contact@chylex.com>
Date: Mon, 29 Jul 2024 17:02:09 +0200
Subject: [PATCH] Reformat code

---
 AppCalc/App.cs                                | 366 +++++++++---------
 AppCalc/Operators.cs                          |  44 +--
 AppConv/App.cs                                |  70 ++--
 AppConv/General/DecimalUnitConverterBase.cs   | 178 ++++-----
 AppConv/General/DecimalUnitConverterSimple.cs |  84 ++--
 AppConv/General/IUnitType.cs                  |   8 +-
 AppConv/Units/Angle.cs                        |  37 +-
 AppConv/Units/Area.cs                         |  89 +++--
 AppConv/Units/Length.cs                       | 121 +++---
 AppConv/Units/Radix.cs                        | 198 +++++-----
 AppConv/Units/Storage.cs                      |  38 +-
 AppConv/Units/Temperature.cs                  | 156 ++++----
 AppConv/Units/Volume.cs                       |  46 ++-
 AppConv/Units/Weight.cs                       |  36 +-
 AppConv/Utils/RadixConversion.cs              | 116 +++---
 AppConv/Utils/SI.cs                           | 142 +++----
 AppMeme/App.cs                                |  38 +-
 AppWindows/App.cs                             |  36 +-
 AppWindows/Handlers/HandlerApps.cs            |  89 +++--
 AppWindows/Handlers/HandlerProcesses.cs       |  70 ++--
 AppWindows/IHandler.cs                        |  10 +-
 Base/Command.cs                               |  56 ++-
 Base/CommandEventArgs.cs                      |  14 +-
 Base/CommandException.cs                      |  10 +-
 Base/IApp.cs                                  |  12 +-
 Base/MatchConfidence.cs                       |  14 +-
 Base/Utils/RegexUtils.cs                      |  36 +-
 Query/Controls/QueryHistoryLog.cs             |  67 ++--
 Query/Controls/QueryTextBox.cs                | 246 ++++++------
 Query/Core/CommandHistory.cs                  |  42 +-
 Query/Core/CommandProcessor.cs                |  98 ++---
 Query/Core/KeyboardHook.cs                    |  94 ++---
 Query/MainForm.cs                             | 218 +++++------
 Query/MainForm.resx                           | 174 ++++-----
 Query/Program.cs                              |  18 +-
 35 files changed, 1529 insertions(+), 1542 deletions(-)

diff --git a/AppCalc/App.cs b/AppCalc/App.cs
index f51d0cc..5f77983 100644
--- a/AppCalc/App.cs
+++ b/AppCalc/App.cs
@@ -6,230 +6,236 @@ using System.Text;
 using System.Text.RegularExpressions;
 using Base;
 
-namespace AppCalc{
-    public sealed class App : IApp{
-        private static readonly Regex RegexValidCharacters = new Regex(@"^[\s\d\.\-+*/%^]+$", RegexOptions.Compiled);
-        private static readonly Regex RegexTokenSeparator = new Regex(@"((?<!\d)-?(((\d+)?\.\d+(\.\.\.)?)|\d+))|[^\d\s]", RegexOptions.ExplicitCapture | RegexOptions.Compiled);
-        private static readonly Regex RegexRecurringDecimal = new Regex(@"\b(?:(\d+?\.\d{0,}?)(\d+?)\2+|([\d+?\.]*))\b", RegexOptions.Compiled);
+namespace AppCalc {
+	public sealed class App : IApp {
+		private static readonly Regex RegexValidCharacters = new Regex(@"^[\s\d\.\-+*/%^]+$", RegexOptions.Compiled);
+		private static readonly Regex RegexTokenSeparator = new Regex(@"((?<!\d)-?(((\d+)?\.\d+(\.\.\.)?)|\d+))|[^\d\s]", RegexOptions.ExplicitCapture | RegexOptions.Compiled);
+		private static readonly Regex RegexRecurringDecimal = new Regex(@"\b(?:(\d+?\.\d{0,}?)(\d+?)\2+|([\d+?\.]*))\b", RegexOptions.Compiled);
 
-        private static readonly char[] SplitSpace = { ' ' };
+		private static readonly char[] SplitSpace = { ' ' };
 
-        public string[] RecognizedNames => new string[]{
-            "calc",
-            "calculate",
-            "calculator"
-        };
-        
-        public MatchConfidence GetConfidence(Command cmd){
-            return RegexValidCharacters.IsMatch(cmd.Text) ? MatchConfidence.Possible : MatchConfidence.None;
-        }
+		public string[] RecognizedNames => new string[] {
+			"calc",
+			"calculate",
+			"calculator"
+		};
 
-        string IApp.ProcessCommand(Command cmd){
-            return ParseAndProcessExpression(cmd.Text);
-        }
+		public MatchConfidence GetConfidence(Command cmd) {
+			return RegexValidCharacters.IsMatch(cmd.Text) ? MatchConfidence.Possible : MatchConfidence.None;
+		}
 
-        private static string ParseAndProcessExpression(string text){
-            // text = RegexBalancedParentheses.Replace(text, match => " "+ParseAndProcessExpression(match.Groups[1].Value)+" "); // parens are handled as apps
+		string IApp.ProcessCommand(Command cmd) {
+			return ParseAndProcessExpression(cmd.Text);
+		}
 
-            string expression = RegexTokenSeparator.Replace(text, match => " "+match.Value+" ");
-            string[] tokens = expression.Split(SplitSpace, StringSplitOptions.RemoveEmptyEntries);
+		private static string ParseAndProcessExpression(string text) {
+			// text = RegexBalancedParentheses.Replace(text, match => " "+ParseAndProcessExpression(match.Groups[1].Value)+" "); // parens are handled as apps
 
-            decimal result = ProcessExpression(tokens);
+			string expression = RegexTokenSeparator.Replace(text, match => " " + match.Value + " ");
+			string[] tokens = expression.Split(SplitSpace, StringSplitOptions.RemoveEmptyEntries);
 
-            if (Math.Abs(result-decimal.Round(result)) < 0.0000000000000000000000000010M){
-                return decimal.Round(result).ToString(CultureInfo.InvariantCulture);
-            }
+			decimal result = ProcessExpression(tokens);
 
-            string res = result.ToString(CultureInfo.InvariantCulture);
-            bool hasDecimalPoint = decimal.Round(result) != result;
+			if (Math.Abs(result - decimal.Round(result)) < 0.0000000000000000000000000010M) {
+				return decimal.Round(result).ToString(CultureInfo.InvariantCulture);
+			}
 
-            if (res.Length == 30 && hasDecimalPoint && res.IndexOf('.') < 15){ // Length 30 uses all available bytes
-                res = res.Substring(0, res.Length-1);
+			string res = result.ToString(CultureInfo.InvariantCulture);
+			bool hasDecimalPoint = decimal.Round(result) != result;
 
-                Match match = RegexRecurringDecimal.Match(res);
+			if (res.Length == 30 && hasDecimalPoint && res.IndexOf('.') < 15) { // Length 30 uses all available bytes
+				res = res.Substring(0, res.Length - 1);
 
-                if (match.Groups[2].Success){
-                    string repeating = match.Groups[2].Value;
+				Match match = RegexRecurringDecimal.Match(res);
 
-                    StringBuilder build = new StringBuilder(34);
-                    build.Append(match.Groups[1].Value);
+				if (match.Groups[2].Success) {
+					string repeating = match.Groups[2].Value;
 
-                    do{
-                        build.Append(repeating);
-                    }while(build.Length+repeating.Length <= res.Length);
+					StringBuilder build = new StringBuilder(34);
+					build.Append(match.Groups[1].Value);
 
-                    return build.Append(repeating.Substring(0, 1+build.Length-res.Length)).Append("...").ToString();
-                }
-            }
-            else if (hasDecimalPoint){
-                res = res.TrimEnd('0');
-            }
+					do {
+						build.Append(repeating);
+					} while (build.Length + repeating.Length <= res.Length);
 
-            return res;
-        }
+					return build.Append(repeating.Substring(0, 1 + build.Length - res.Length)).Append("...").ToString();
+				}
+			}
+			else if (hasDecimalPoint) {
+				res = res.TrimEnd('0');
+			}
 
-        private static decimal ProcessExpression(string[] tokens){
-            bool isPostfix;
+			return res;
+		}
 
-            if (tokens.Length < 3){
-                isPostfix = false;
-            }
-            else{
-                try{
-                    ParseNumberToken(tokens[0]);
-                }catch(CommandException){
-                    throw new CommandException("Prefix notation is not supported.");
-                }
+		private static decimal ProcessExpression(string[] tokens) {
+			bool isPostfix;
 
-                try{
-                    ParseNumberToken(tokens[1]);
-                    isPostfix = true;
-                }catch(CommandException){
-                    isPostfix = false;
-                }
-            }
+			if (tokens.Length < 3) {
+				isPostfix = false;
+			}
+			else {
+				try {
+					ParseNumberToken(tokens[0]);
+				} catch (CommandException) {
+					throw new CommandException("Prefix notation is not supported.");
+				}
 
-            if (isPostfix){
-                return ProcessPostfixExpression(tokens);
-            }
-            else{
-                return ProcessPostfixExpression(ConvertInfixToPostfix(tokens));
-            }
-        }
+				try {
+					ParseNumberToken(tokens[1]);
+					isPostfix = true;
+				} catch (CommandException) {
+					isPostfix = false;
+				}
+			}
 
-        private static IEnumerable<string> ConvertInfixToPostfix(IEnumerable<string> tokens){
-            Stack<string> operators = new Stack<string>();
+			if (isPostfix) {
+				return ProcessPostfixExpression(tokens);
+			}
+			else {
+				return ProcessPostfixExpression(ConvertInfixToPostfix(tokens));
+			}
+		}
 
-            foreach(string token in tokens){
-                if (Operators.With2Operands.Contains(token)){
-                    int currentPrecedence = Operators.GetPrecedence(token);
-                    bool currentRightAssociative = Operators.IsRightAssociative(token);
+		private static IEnumerable<string> ConvertInfixToPostfix(IEnumerable<string> tokens) {
+			Stack<string> operators = new Stack<string>();
 
-                    while(operators.Count > 0){
-                        int topPrecedence = Operators.GetPrecedence(operators.Peek());
+			foreach (string token in tokens) {
+				if (Operators.With2Operands.Contains(token)) {
+					int currentPrecedence = Operators.GetPrecedence(token);
+					bool currentRightAssociative = Operators.IsRightAssociative(token);
 
-                        if ((currentRightAssociative && currentPrecedence < topPrecedence) || (!currentRightAssociative && currentPrecedence <= topPrecedence)){
-                            yield return operators.Pop();
-                        }
-                        else{
-                            break;
-                        }
-                    }
+					while (operators.Count > 0) {
+						int topPrecedence = Operators.GetPrecedence(operators.Peek());
 
-                    operators.Push(token);
-                }
-                else{
-                    yield return ParseNumberToken(token).ToString(CultureInfo.InvariantCulture);
-                }
-            }
+						if ((currentRightAssociative && currentPrecedence < topPrecedence) || (!currentRightAssociative && currentPrecedence <= topPrecedence)) {
+							yield return operators.Pop();
+						}
+						else {
+							break;
+						}
+					}
 
-            while(operators.Count > 0){
-                yield return operators.Pop();
-            }
-        }
+					operators.Push(token);
+				}
+				else {
+					yield return ParseNumberToken(token).ToString(CultureInfo.InvariantCulture);
+				}
+			}
 
-        private static decimal ProcessPostfixExpression(IEnumerable<string> tokens){
-            Stack<decimal> stack = new Stack<decimal>();
+			while (operators.Count > 0) {
+				yield return operators.Pop();
+			}
+		}
 
-            foreach(string token in tokens){
-                decimal operand1, operand2;
+		private static decimal ProcessPostfixExpression(IEnumerable<string> tokens) {
+			Stack<decimal> stack = new Stack<decimal>();
 
-                if (token == "-" && stack.Count == 1){
-                    operand2 = stack.Pop();
-                    operand1 = 0M;
-                }
-                else if (Operators.With2Operands.Contains(token)){
-                    if (stack.Count < 2){
-                        throw new CommandException("Incorrect syntax, not enough numbers in stack.");
-                    }
+			foreach (string token in tokens) {
+				decimal operand1, operand2;
 
-                    operand2 = stack.Pop();
-                    operand1 = stack.Pop();
-                }
-                else{
-                    operand1 = operand2 = 0M;
-                }
+				if (token == "-" && stack.Count == 1) {
+					operand2 = stack.Pop();
+					operand1 = 0M;
+				}
+				else if (Operators.With2Operands.Contains(token)) {
+					if (stack.Count < 2) {
+						throw new CommandException("Incorrect syntax, not enough numbers in stack.");
+					}
 
-                switch(token){
-                    case "+": stack.Push(operand1+operand2); break;
-                    case "-": stack.Push(operand1-operand2); break;
-                    case "*": stack.Push(operand1*operand2); break;
-                    
-                    case "/":
-                        if (operand2 == 0M){
-                            throw new CommandException("Cannot divide by zero.");
-                        }
+					operand2 = stack.Pop();
+					operand1 = stack.Pop();
+				}
+				else {
+					operand1 = operand2 = 0M;
+				}
 
-                        stack.Push(operand1/operand2);
-                        break;
+				switch (token) {
+					case "+":
+						stack.Push(operand1 + operand2);
+						break;
+					case "-":
+						stack.Push(operand1 - operand2);
+						break;
+					case "*":
+						stack.Push(operand1 * operand2);
+						break;
 
-                    case "%":
-                        if (operand2 == 0M){
-                            throw new CommandException("Cannot divide by zero.");
-                        }
+					case "/":
+						if (operand2 == 0M) {
+							throw new CommandException("Cannot divide by zero.");
+						}
 
-                        stack.Push(operand1%operand2);
-                        break;
+						stack.Push(operand1 / operand2);
+						break;
 
-                    case "^":
-                        if (operand1 == 0M && operand2 == 0M){
-                            throw new CommandException("Cannot evaluate 0 to the power of 0.");
-                        }
-                        else if (operand1 < 0M && Math.Abs(operand2) < 1M){
-                            throw new CommandException("Cannot evaluate a root of a negative number.");
-                        }
+					case "%":
+						if (operand2 == 0M) {
+							throw new CommandException("Cannot divide by zero.");
+						}
 
-                        try{
-                            stack.Push((decimal)Math.Pow((double)operand1, (double)operand2));
-                        }catch(OverflowException ex){
-                            throw new CommandException("Number overflow.", ex);
-                        }
+						stack.Push(operand1 % operand2);
+						break;
 
-                        break;
+					case "^":
+						if (operand1 == 0M && operand2 == 0M) {
+							throw new CommandException("Cannot evaluate 0 to the power of 0.");
+						}
+						else if (operand1 < 0M && Math.Abs(operand2) < 1M) {
+							throw new CommandException("Cannot evaluate a root of a negative number.");
+						}
 
-                    default:
-                        stack.Push(ParseNumberToken(token));
-                        break;
-                }
-            }
+						try {
+							stack.Push((decimal) Math.Pow((double) operand1, (double) operand2));
+						} catch (OverflowException ex) {
+							throw new CommandException("Number overflow.", ex);
+						}
 
-            if (stack.Count != 1){
-                throw new CommandException("Incorrect syntax, too many numbers in stack.");
-            }
+						break;
 
-            return stack.Pop();
-        }
+					default:
+						stack.Push(ParseNumberToken(token));
+						break;
+				}
+			}
 
-        private static decimal ParseNumberToken(string token){
-            string str = token;
+			if (stack.Count != 1) {
+				throw new CommandException("Incorrect syntax, too many numbers in stack.");
+			}
 
-            if (str.StartsWith("-.")){
-                str = "-0"+str.Substring(1);
-            }
-            else if (str[0] == '.'){
-                str = "0"+str;
-            }
+			return stack.Pop();
+		}
 
-            if (str.EndsWith("...")){
-                string truncated = str.Substring(0, str.Length-3);
+		private static decimal ParseNumberToken(string token) {
+			string str = token;
 
-                if (truncated.IndexOf('.') != -1){
-                    str = truncated;
-                }
-            }
+			if (str.StartsWith("-.")) {
+				str = "-0" + str.Substring(1);
+			}
+			else if (str[0] == '.') {
+				str = "0" + str;
+			}
 
-            decimal value;
+			if (str.EndsWith("...")) {
+				string truncated = str.Substring(0, str.Length - 3);
 
-            if (decimal.TryParse(str, NumberStyles.Float, CultureInfo.InvariantCulture, out value)){
-                if (value.ToString(CultureInfo.InvariantCulture) != str){
-                    throw new CommandException("Provided number is outside of decimal range: "+token);
-                }
+				if (truncated.IndexOf('.') != -1) {
+					str = truncated;
+				}
+			}
 
-                return value;
-            }
-            else{
-                throw new CommandException("Invalid token, expected a number: "+token);
-            }
-        }
-    }
+			decimal value;
+
+			if (decimal.TryParse(str, NumberStyles.Float, CultureInfo.InvariantCulture, out value)) {
+				if (value.ToString(CultureInfo.InvariantCulture) != str) {
+					throw new CommandException("Provided number is outside of decimal range: " + token);
+				}
+
+				return value;
+			}
+			else {
+				throw new CommandException("Invalid token, expected a number: " + token);
+			}
+		}
+	}
 }
diff --git a/AppCalc/Operators.cs b/AppCalc/Operators.cs
index 2bb7b38..9627583 100644
--- a/AppCalc/Operators.cs
+++ b/AppCalc/Operators.cs
@@ -1,28 +1,28 @@
-namespace AppCalc{
-    internal static class Operators{
-        internal static readonly string[] With2Operands = { "+", "-", "*", "/", "%", "^" };
+namespace AppCalc {
+	static class Operators {
+		internal static readonly string[] With2Operands = { "+", "-", "*", "/", "%", "^" };
 
-        internal static int GetPrecedence(string token){
-            switch(token){
-                case "^":
-                    return 4;
+		internal static int GetPrecedence(string token) {
+			switch (token) {
+				case "^":
+					return 4;
 
-                case "*":
-                case "/":
-                case "%":
-                    return 3;
+				case "*":
+				case "/":
+				case "%":
+					return 3;
 
-                case "+":
-                case "-":
-                    return 2;
+				case "+":
+				case "-":
+					return 2;
 
-                default:
-                    return 1;
-            }
-        }
+				default:
+					return 1;
+			}
+		}
 
-        internal static bool IsRightAssociative(string token){
-            return token == "^";
-        }
-    }
+		internal static bool IsRightAssociative(string token) {
+			return token == "^";
+		}
+	}
 }
diff --git a/AppConv/App.cs b/AppConv/App.cs
index cbc6523..7ea09ad 100644
--- a/AppConv/App.cs
+++ b/AppConv/App.cs
@@ -4,46 +4,46 @@ using AppConv.General;
 using AppConv.Units;
 using Base;
 
-namespace AppConv{
-    public sealed class App : IApp{
-        private static readonly IUnitType[] Processors = {
-            new Temperature(),
-            new Weight(),
-            new Length(),
-            new Area(),
-            new Volume(),
-            new Angle(),
-            new Storage(),
-            new Radix()
-        };
+namespace AppConv {
+	public sealed class App : IApp {
+		private static readonly IUnitType[] Processors = {
+			new Temperature(),
+			new Weight(),
+			new Length(),
+			new Area(),
+			new Volume(),
+			new Angle(),
+			new Storage(),
+			new Radix()
+		};
 
-        public string[] RecognizedNames => new string[]{
-            "conv",
-            "convert"
-        };
-        
-        public MatchConfidence GetConfidence(Command cmd){
-            return cmd.Text.IndexOf(" to ", StringComparison.InvariantCultureIgnoreCase) != -1 ? MatchConfidence.Possible : MatchConfidence.None;
-        }
+		public string[] RecognizedNames => new string[] {
+			"conv",
+			"convert"
+		};
 
-        public string ProcessCommand(Command cmd){
-            string[] data = cmd.Text.Split(new string[]{ " to " }, 2, StringSplitOptions.None);
+		public MatchConfidence GetConfidence(Command cmd) {
+			return cmd.Text.IndexOf(" to ", StringComparison.InvariantCultureIgnoreCase) != -1 ? MatchConfidence.Possible : MatchConfidence.None;
+		}
 
-            string src = data[0].Trim();
-            string dst = data[1].Trim();
+		public string ProcessCommand(Command cmd) {
+			string[] data = cmd.Text.Split(new string[] { " to " }, 2, StringSplitOptions.None);
 
-            if (src.Length == 0 || dst.Length == 0){
-                throw new CommandException("Unrecognized conversion app syntax.");
-            }
+			string src = data[0].Trim();
+			string dst = data[1].Trim();
 
-            string result = string.Empty;
-            IUnitType used = Processors.FirstOrDefault(processor => processor.TryProcess(src, dst, out result));
+			if (src.Length == 0 || dst.Length == 0) {
+				throw new CommandException("Unrecognized conversion app syntax.");
+			}
 
-            if (used == null){
-                throw new CommandException("Could not recognize conversion units.");
-            }
+			string result = string.Empty;
+			IUnitType used = Processors.FirstOrDefault(processor => processor.TryProcess(src, dst, out result));
 
-            return result;
-        }
-    }
+			if (used == null) {
+				throw new CommandException("Could not recognize conversion units.");
+			}
+
+			return result;
+		}
+	}
 }
diff --git a/AppConv/General/DecimalUnitConverterBase.cs b/AppConv/General/DecimalUnitConverterBase.cs
index fa40fb7..ab4db43 100644
--- a/AppConv/General/DecimalUnitConverterBase.cs
+++ b/AppConv/General/DecimalUnitConverterBase.cs
@@ -3,124 +3,112 @@ using System.Collections.Generic;
 using System.Globalization;
 using System.Linq;
 
-namespace AppConv.General{
-    internal abstract class DecimalUnitConverterBase<T> : IUnitType where T : struct{
-        internal sealed class DecimalFuncMap : Dictionary<T, Func<decimal, decimal>>{
-            public DecimalFuncMap(){}
-            public DecimalFuncMap(int capacity) : base(capacity){}
-        }
+namespace AppConv.General {
+	abstract class DecimalUnitConverterBase<T> : IUnitType where T : struct {
+		internal sealed class DecimalFuncMap : Dictionary<T, Func<decimal, decimal>> {
+			public DecimalFuncMap() {}
+			public DecimalFuncMap(int capacity) : base(capacity) {}
+		}
 
-        internal sealed class NameMap : Dictionary<string, T>{
-            public NameMap(){}
-            public NameMap(int capacity) : base(capacity){}
-        }
+		internal sealed class NameMap : Dictionary<string, T> {
+			public NameMap() {}
+			public NameMap(int capacity) : base(capacity) {}
+		}
 
-        protected abstract NameMap Names { get; }
-        protected abstract DecimalFuncMap ConvertTo { get; }
-        protected abstract DecimalFuncMap ConvertFrom { get; }
+		protected abstract NameMap Names { get; }
+		protected abstract DecimalFuncMap ConvertTo { get; }
+		protected abstract DecimalFuncMap ConvertFrom { get; }
 
-        protected virtual int Precision{
-            get{
-                return 0;
-            }
-        }
+		protected virtual int Precision => 0;
 
-        protected virtual bool CaseCheck{
-            get{
-                return false;
-            }
-        }
+		protected virtual bool CaseCheck => false;
 
-        protected virtual NumberStyles NumberStyle{
-            get{
-                return NumberStyles.Float & ~NumberStyles.AllowLeadingSign;
-            }
-        }
+		protected virtual NumberStyles NumberStyle => NumberStyles.Float & ~NumberStyles.AllowLeadingSign;
 
-        protected virtual string ProcessSrc(string src){
-            return src;
-        }
+		protected virtual string ProcessSrc(string src) {
+			return src;
+		}
 
-        protected virtual string ProcessDst(string dst){
-            return dst;
-        }
+		protected virtual string ProcessDst(string dst) {
+			return dst;
+		}
 
-        protected abstract bool IsValueInvalid(T value);
+		protected abstract bool IsValueInvalid(T value);
 
-        protected virtual decimal Convert(decimal value, T from, T to){
-            return ConvertFrom[to](ConvertTo[from](value));
-        }
+		protected virtual decimal Convert(decimal value, T from, T to) {
+			return ConvertFrom[to](ConvertTo[from](value));
+		}
 
-        protected virtual string Format(decimal value){
-            if (Precision > 0){
-                decimal truncated = decimal.Truncate(value);
+		protected virtual string Format(decimal value) {
+			if (Precision > 0) {
+				decimal truncated = decimal.Truncate(value);
 
-                if (value == truncated){
-                    return truncated.ToString(CultureInfo.InvariantCulture);
-                }
-            }
+				if (value == truncated) {
+					return truncated.ToString(CultureInfo.InvariantCulture);
+				}
+			}
 
-            int decimalPlaces = Precision;
+			int decimalPlaces = Precision;
 
-            if (Math.Abs(value) < 1M){
-                double fractionalPart = (double)Math.Abs(value%1M);
-                int fractionalZeroCount = -(int)Math.Ceiling(Math.Log(fractionalPart, 10D));
+			if (Math.Abs(value) < 1M) {
+				double fractionalPart = (double) Math.Abs(value % 1M);
+				int fractionalZeroCount = -(int) Math.Ceiling(Math.Log(fractionalPart, 10D));
 
-                decimalPlaces = Math.Min(28, fractionalZeroCount+Precision);
-            }
+				decimalPlaces = Math.Min(28, fractionalZeroCount + Precision);
+			}
 
-            string result = decimal.Round(value, decimalPlaces, MidpointRounding.ToEven).ToString(CultureInfo.InvariantCulture);
+			string result = decimal.Round(value, decimalPlaces, MidpointRounding.ToEven).ToString(CultureInfo.InvariantCulture);
 
-            if (decimalPlaces > 0){
-                result = result.TrimEnd('0').TrimEnd('.');
-            }
+			if (decimalPlaces > 0) {
+				result = result.TrimEnd('0').TrimEnd('.');
+			}
 
-            return result;
-        }
-        
-        public bool TryProcess(string src, string dst, out string result){
-            src = ProcessSrc(src);
-            dst = ProcessDst(dst);
+			return result;
+		}
 
-            KeyValuePair<string, T>[] pairs = new KeyValuePair<string, T>[2];
+		public bool TryProcess(string src, string dst, out string result) {
+			src = ProcessSrc(src);
+			dst = ProcessDst(dst);
 
-            for(int index = 0; index < 2; index++){
-                string str = index == 0 ? src : dst;
+			var pairs = new KeyValuePair<string, T>[2];
 
-                if (CaseCheck){
-                    List<KeyValuePair<string, T>> list = Names.Where(kvp => str.EndsWith(kvp.Key, StringComparison.InvariantCultureIgnoreCase) && (str.Length == kvp.Key.Length || !char.IsLetter(str[str.Length-kvp.Key.Length-1]))).ToList();
+			for (int index = 0; index < 2; index++) {
+				string str = index == 0 ? src : dst;
 
-                    if (list.Count == 1){
-                        pairs[index] = list[0];
-                    }
-                    else{
-                        pairs[index] = list.FirstOrDefault(kvp => str.EndsWith(kvp.Key, StringComparison.InvariantCulture));
-                    }
-                }
-                else{
-                    pairs[index] = Names.FirstOrDefault(kvp => str.EndsWith(kvp.Key, StringComparison.InvariantCultureIgnoreCase) && (str.Length == kvp.Key.Length || !char.IsLetter(str[str.Length-kvp.Key.Length-1])));
-                }
+				if (CaseCheck) {
+					List<KeyValuePair<string, T>> list = Names.Where(kvp => str.EndsWith(kvp.Key, StringComparison.InvariantCultureIgnoreCase) && (str.Length == kvp.Key.Length || !char.IsLetter(str[str.Length - kvp.Key.Length - 1]))).ToList();
 
-                if (IsValueInvalid(pairs[index].Value)){
-                    result = string.Empty;
-                    return false;
-                }
+					if (list.Count == 1) {
+						pairs[index] = list[0];
+					}
+					else {
+						pairs[index] = list.FirstOrDefault(kvp => str.EndsWith(kvp.Key, StringComparison.InvariantCulture));
+					}
+				}
+				else {
+					pairs[index] = Names.FirstOrDefault(kvp => str.EndsWith(kvp.Key, StringComparison.InvariantCultureIgnoreCase) && (str.Length == kvp.Key.Length || !char.IsLetter(str[str.Length - kvp.Key.Length - 1])));
+				}
 
-                if (index == 0){
-                    src = src.Substring(0, src.Length-pairs[index].Key.Length).TrimEnd();
-                }
-            }
+				if (IsValueInvalid(pairs[index].Value)) {
+					result = string.Empty;
+					return false;
+				}
 
-            decimal value;
+				if (index == 0) {
+					src = src.Substring(0, src.Length - pairs[index].Key.Length).TrimEnd();
+				}
+			}
 
-            if (decimal.TryParse(src, NumberStyle, CultureInfo.InvariantCulture, out value)){
-                result = Format(Convert(value, pairs[0].Value, pairs[1].Value));
-                return true;
-            }
-            else{
-                result = string.Empty;
-                return false;
-            }
-        }
-    }
+			decimal value;
+
+			if (decimal.TryParse(src, NumberStyle, CultureInfo.InvariantCulture, out value)) {
+				result = Format(Convert(value, pairs[0].Value, pairs[1].Value));
+				return true;
+			}
+			else {
+				result = string.Empty;
+				return false;
+			}
+		}
+	}
 }
diff --git a/AppConv/General/DecimalUnitConverterSimple.cs b/AppConv/General/DecimalUnitConverterSimple.cs
index 4e14561..7404d44 100644
--- a/AppConv/General/DecimalUnitConverterSimple.cs
+++ b/AppConv/General/DecimalUnitConverterSimple.cs
@@ -1,66 +1,46 @@
 using System;
 
-namespace AppConv.General{
-    internal abstract class DecimalUnitConverterSimple<T> : DecimalUnitConverterBase<T> where T : struct{
-        // ReSharper disable once StaticMemberInGenericType
-        private static readonly Func<decimal, decimal> FuncNoChange = val => val;
+namespace AppConv.General {
+	abstract class DecimalUnitConverterSimple<T> : DecimalUnitConverterBase<T> where T : struct {
+		// ReSharper disable once StaticMemberInGenericType
+		private static readonly Func<decimal, decimal> FuncNoChange = val => val;
 
-        private readonly NameMap UnitNames = new NameMap();
-        private readonly DecimalFuncMap MapFrom = new DecimalFuncMap();
-        private readonly DecimalFuncMap MapTo = new DecimalFuncMap();
+		private readonly NameMap UnitNames = new NameMap();
+		private readonly DecimalFuncMap MapFrom = new DecimalFuncMap();
+		private readonly DecimalFuncMap MapTo = new DecimalFuncMap();
 
-        private int invalidUnitObject = -1;
-        
-        protected sealed override NameMap Names{
-            get{
-                return UnitNames;
-            }
-        }
+		private int invalidUnitObject = -1;
 
-        protected sealed override DecimalFuncMap ConvertFrom{
-            get{
-                return MapFrom;
-            }
-        }
+		protected sealed override NameMap Names => UnitNames;
 
-        protected sealed override DecimalFuncMap ConvertTo{
-            get{
-                return MapTo;
-            }
-        }
+		protected sealed override DecimalFuncMap ConvertFrom => MapFrom;
 
-        protected override int Precision{
-            get{
-                return 3;
-            }
-        }
+		protected sealed override DecimalFuncMap ConvertTo => MapTo;
 
-        protected override bool CaseCheck{
-            get{
-                return true;
-            }
-        }
+		protected override int Precision => 3;
 
-        protected void AddUnit(T unitObject, params string[] names){
-            foreach(string name in names){
-                UnitNames.Add(name, unitObject);
-            }
+		protected override bool CaseCheck => true;
 
-            ConvertFrom.Add(unitObject, FuncNoChange);
-            ConvertTo.Add(unitObject, FuncNoChange);
-        }
+		protected void AddUnit(T unitObject, params string[] names) {
+			foreach (string name in names) {
+				UnitNames.Add(name, unitObject);
+			}
 
-        protected void SetUnitFactor(T unitObject, decimal factor){
-            ConvertFrom[unitObject] = val => val*factor;
-            ConvertTo[unitObject] = val => val/factor;
-        }
+			ConvertFrom.Add(unitObject, FuncNoChange);
+			ConvertTo.Add(unitObject, FuncNoChange);
+		}
 
-        protected void SetInvalidUnitObject(T unitObject){
-            this.invalidUnitObject = (int)(object)unitObject;
-        }
+		protected void SetUnitFactor(T unitObject, decimal factor) {
+			ConvertFrom[unitObject] = val => val * factor;
+			ConvertTo[unitObject] = val => val / factor;
+		}
 
-        protected sealed override bool IsValueInvalid(T value){
-            return (int)(object)value == invalidUnitObject;
-        }
-    }
+		protected void SetInvalidUnitObject(T unitObject) {
+			invalidUnitObject = (int) (object) unitObject;
+		}
+
+		protected sealed override bool IsValueInvalid(T value) {
+			return (int) (object) value == invalidUnitObject;
+		}
+	}
 }
diff --git a/AppConv/General/IUnitType.cs b/AppConv/General/IUnitType.cs
index 9dcf3f7..2a9f6d5 100644
--- a/AppConv/General/IUnitType.cs
+++ b/AppConv/General/IUnitType.cs
@@ -1,5 +1,5 @@
-namespace AppConv.General{
-    internal interface IUnitType{
-        bool TryProcess(string src, string dst, out string result);
-    }
+namespace AppConv.General {
+	interface IUnitType {
+		bool TryProcess(string src, string dst, out string result);
+	}
 }
diff --git a/AppConv/Units/Angle.cs b/AppConv/Units/Angle.cs
index 2d949ab..754ae97 100644
--- a/AppConv/Units/Angle.cs
+++ b/AppConv/Units/Angle.cs
@@ -2,28 +2,27 @@
 using AppConv.General;
 
 namespace AppConv.Units {
-    internal class Angle : DecimalUnitConverterSimple<Angle.Units>{
-        internal enum Units{
-            Invalid = 0, Degree, Radian, Gradian
-        }
+	class Angle : DecimalUnitConverterSimple<Angle.Units> {
+		internal enum Units {
+			Invalid = 0,
+			Degree,
+			Radian,
+			Gradian
+		}
 
-        protected override int Precision{
-            get{
-                return 4;
-            }
-        }
+		protected override int Precision => 4;
 
-        public Angle(){
-            AddUnit(Units.Degree, "deg", "degree", "degrees", "arc degree", "arc degrees", "arcdegree", "arcdegrees", "°");
-            AddUnit(Units.Radian, "rad", "radian", "radians");
-            AddUnit(Units.Gradian, "grad", "grade", "gon", "gradian", "gradians");
+		public Angle() {
+			AddUnit(Units.Degree, "deg", "degree", "degrees", "arc degree", "arc degrees", "arcdegree", "arcdegrees", "°");
+			AddUnit(Units.Radian, "rad", "radian", "radians");
+			AddUnit(Units.Gradian, "grad", "grade", "gon", "gradian", "gradians");
 
-            SetUnitFactor(Units.Radian, (decimal)Math.PI/180M);
-            SetUnitFactor(Units.Gradian, 10M/9M);
+			SetUnitFactor(Units.Radian, (decimal) Math.PI / 180M);
+			SetUnitFactor(Units.Gradian, 10M / 9M);
 
-            SetInvalidUnitObject(Units.Invalid);
-        }
+			SetInvalidUnitObject(Units.Invalid);
+		}
 
-        // TODO convert degree notation 15°24'9"
-    }
+		// TODO convert degree notation 15°24'9"
+	}
 }
diff --git a/AppConv/Units/Area.cs b/AppConv/Units/Area.cs
index 4e4efc8..6129157 100644
--- a/AppConv/Units/Area.cs
+++ b/AppConv/Units/Area.cs
@@ -1,43 +1,58 @@
 using AppConv.General;
 
-namespace AppConv.Units{
-    internal class Area : DecimalUnitConverterSimple<Area.Units>{
-        internal enum Units{
-            Invalid = 0, SquareMM, SquareCM, SquareDM, SquareM, SquareKM, SquareMile, SquareYard, SquareFoot, SquareInch, Acre, Centiare, Deciare, Are, Decare, Hectare
-        }
+namespace AppConv.Units {
+	class Area : DecimalUnitConverterSimple<Area.Units> {
+		internal enum Units {
+			Invalid = 0,
+			SquareMM,
+			SquareCM,
+			SquareDM,
+			SquareM,
+			SquareKM,
+			SquareMile,
+			SquareYard,
+			SquareFoot,
+			SquareInch,
+			Acre,
+			Centiare,
+			Deciare,
+			Are,
+			Decare,
+			Hectare
+		}
 
-        public Area(){
-            AddUnit(Units.SquareMM, "mm2", "square mm", "square millimeter", "square millimeters", "square millimetre", "square millimetres");
-            AddUnit(Units.SquareCM, "cm2", "square cm", "square centimeter", "square centimeters", "square centimetre", "square centimetres");
-            AddUnit(Units.SquareDM, "dm2", "square dm", "square decimeter", "square decimeters", "square decimetre", "square decimetres");
-            AddUnit(Units.SquareM, "m2", "square m", "square meter", "square meters", "square metre", "square metres");
-            AddUnit(Units.SquareKM, "km2", "square km", "square kilometer", "square kilometers", "square kilometre", "square kilometres");
-            AddUnit(Units.SquareMile, "mi2", "sq mi", "sq mile", "sq miles", "square mi", "square mile", "square miles");
-            AddUnit(Units.SquareYard, "yd2", "sq yd", "sq yard", "sq yards", "square yd", "square yard", "square yards");
-            AddUnit(Units.SquareFoot, "ft2", "sq ft", "sq foot", "sq feet", "square ft", "square foot", "square feet");
-            AddUnit(Units.SquareInch, "in2", "sq in", "sq inch", "sq inches", "square in", "square inch", "square inches");
-            AddUnit(Units.Acre, "ac", "acre", "acres");
-            AddUnit(Units.Centiare, "ca", "centiare", "centiares");
-            AddUnit(Units.Deciare, "da", "deciare", "deciares"); // da is not canon but w/e
-            AddUnit(Units.Are, "a", "are", "ares");
-            AddUnit(Units.Decare, "daa", "decare", "decares");
-            AddUnit(Units.Hectare, "ha", "hectare", "hectares");
+		public Area() {
+			AddUnit(Units.SquareMM, "mm2", "square mm", "square millimeter", "square millimeters", "square millimetre", "square millimetres");
+			AddUnit(Units.SquareCM, "cm2", "square cm", "square centimeter", "square centimeters", "square centimetre", "square centimetres");
+			AddUnit(Units.SquareDM, "dm2", "square dm", "square decimeter", "square decimeters", "square decimetre", "square decimetres");
+			AddUnit(Units.SquareM, "m2", "square m", "square meter", "square meters", "square metre", "square metres");
+			AddUnit(Units.SquareKM, "km2", "square km", "square kilometer", "square kilometers", "square kilometre", "square kilometres");
+			AddUnit(Units.SquareMile, "mi2", "sq mi", "sq mile", "sq miles", "square mi", "square mile", "square miles");
+			AddUnit(Units.SquareYard, "yd2", "sq yd", "sq yard", "sq yards", "square yd", "square yard", "square yards");
+			AddUnit(Units.SquareFoot, "ft2", "sq ft", "sq foot", "sq feet", "square ft", "square foot", "square feet");
+			AddUnit(Units.SquareInch, "in2", "sq in", "sq inch", "sq inches", "square in", "square inch", "square inches");
+			AddUnit(Units.Acre, "ac", "acre", "acres");
+			AddUnit(Units.Centiare, "ca", "centiare", "centiares");
+			AddUnit(Units.Deciare, "da", "deciare", "deciares"); // da is not canon but w/e
+			AddUnit(Units.Are, "a", "are", "ares");
+			AddUnit(Units.Decare, "daa", "decare", "decares");
+			AddUnit(Units.Hectare, "ha", "hectare", "hectares");
 
-            SetUnitFactor(Units.SquareMM, 1E+6M);
-            SetUnitFactor(Units.SquareCM, 1E+4M);
-            SetUnitFactor(Units.SquareDM, 1E+2M);
-            SetUnitFactor(Units.SquareKM, 1E-6M);
-            SetUnitFactor(Units.SquareMile, 3.8610215854245E-7M);
-            SetUnitFactor(Units.SquareYard, 1.1959900463011M);
-            SetUnitFactor(Units.SquareFoot, 10.76391041671M);
-            SetUnitFactor(Units.SquareInch, 1550.0031000062M);
-            SetUnitFactor(Units.Acre, 2.4710538146717E-4M);
-            SetUnitFactor(Units.Deciare, 1E-1M);
-            SetUnitFactor(Units.Are, 1E-2M);
-            SetUnitFactor(Units.Decare, 1E-3M);
-            SetUnitFactor(Units.Hectare, 1E-4M);
+			SetUnitFactor(Units.SquareMM, 1E+6M);
+			SetUnitFactor(Units.SquareCM, 1E+4M);
+			SetUnitFactor(Units.SquareDM, 1E+2M);
+			SetUnitFactor(Units.SquareKM, 1E-6M);
+			SetUnitFactor(Units.SquareMile, 3.8610215854245E-7M);
+			SetUnitFactor(Units.SquareYard, 1.1959900463011M);
+			SetUnitFactor(Units.SquareFoot, 10.76391041671M);
+			SetUnitFactor(Units.SquareInch, 1550.0031000062M);
+			SetUnitFactor(Units.Acre, 2.4710538146717E-4M);
+			SetUnitFactor(Units.Deciare, 1E-1M);
+			SetUnitFactor(Units.Are, 1E-2M);
+			SetUnitFactor(Units.Decare, 1E-3M);
+			SetUnitFactor(Units.Hectare, 1E-4M);
 
-            SetInvalidUnitObject(Units.Invalid);
-        }
-    }
+			SetInvalidUnitObject(Units.Invalid);
+		}
+	}
 }
diff --git a/AppConv/Units/Length.cs b/AppConv/Units/Length.cs
index f307e53..922987b 100644
--- a/AppConv/Units/Length.cs
+++ b/AppConv/Units/Length.cs
@@ -4,81 +4,86 @@ using System.Linq;
 using AppConv.General;
 using AppConv.Utils;
 
-namespace AppConv.Units{
-    internal class Length : DecimalUnitConverterSimple<Length.Units>{
-        internal enum Units{
-            Invalid = 0, Meter, Inch, Foot, Yard, Mile
-        }
+namespace AppConv.Units {
+	class Length : DecimalUnitConverterSimple<Length.Units> {
+		internal enum Units {
+			Invalid = 0,
+			Meter,
+			Inch,
+			Foot,
+			Yard,
+			Mile
+		}
 
-        private static readonly string[] NamesInch = { "in", "inch", "inches", "\"", "''" };
-        private static readonly string[] NamesFoot = { "ft", "foot", "feet", "'" };
+		private static readonly string[] NamesInch = { "in", "inch", "inches", "\"", "''" };
+		private static readonly string[] NamesFoot = { "ft", "foot", "feet", "'" };
 
-        public Length(){
-            AddUnit(Units.Meter, "m", "meter", "metre", "meters", "metres");
-            AddUnit(Units.Inch, NamesInch);
-            AddUnit(Units.Foot, NamesFoot);
-            AddUnit(Units.Yard, "yd", "yard", "yards");
-            AddUnit(Units.Mile, "mi", "mile", "miles");
+		public Length() {
+			AddUnit(Units.Meter, "m", "meter", "metre", "meters", "metres");
+			AddUnit(Units.Inch, NamesInch);
+			AddUnit(Units.Foot, NamesFoot);
+			AddUnit(Units.Yard, "yd", "yard", "yards");
+			AddUnit(Units.Mile, "mi", "mile", "miles");
 
-            SetUnitFactor(Units.Inch, 39.37007874M);
-            SetUnitFactor(Units.Foot, 3.280839895M);
-            SetUnitFactor(Units.Yard, 1.093613298M);
-            SetUnitFactor(Units.Mile, 0.0006213711922M);
+			SetUnitFactor(Units.Inch, 39.37007874M);
+			SetUnitFactor(Units.Foot, 3.280839895M);
+			SetUnitFactor(Units.Yard, 1.093613298M);
+			SetUnitFactor(Units.Mile, 0.0006213711922M);
 
-            SetInvalidUnitObject(Units.Invalid);
+			SetInvalidUnitObject(Units.Invalid);
 
-            SI.AddSupport(typeof(Units), Units.Meter, new []{ "m" }, new []{ "meter", "metre", "meters", "metres" }, ConvertFrom, ConvertTo, Names);
-        }
+			SI.AddSupport(typeof(Units), Units.Meter, new [] { "m" }, new [] { "meter", "metre", "meters", "metres" }, ConvertFrom, ConvertTo, Names);
+		}
 
-        protected override string ProcessSrc(string src){
-            string updatedStr = src;
+		protected override string ProcessSrc(string src) {
+			string updatedStr = src;
 
-            updatedStr = updatedStr.Replace("&", " ");
-            updatedStr = updatedStr.Replace(",", " ");
+			updatedStr = updatedStr.Replace("&", " ");
+			updatedStr = updatedStr.Replace(",", " ");
 
-            string inchName = NamesInch.FirstOrDefault(name => src.IndexOf(name, StringComparison.OrdinalIgnoreCase) != -1);
+			string inchName = NamesInch.FirstOrDefault(name => src.IndexOf(name, StringComparison.OrdinalIgnoreCase) != -1);
 
-            if (inchName == null){
-                return src;
-            }
+			if (inchName == null) {
+				return src;
+			}
 
-            int inchIndex = src.IndexOf(inchName, StringComparison.OrdinalIgnoreCase);
-            updatedStr = updatedStr.Remove(inchIndex, inchName.Length).Insert(inchIndex, new string(' ', inchName.Length));
+			int inchIndex = src.IndexOf(inchName, StringComparison.OrdinalIgnoreCase);
+			updatedStr = updatedStr.Remove(inchIndex, inchName.Length).Insert(inchIndex, new string(' ', inchName.Length));
 
-            string footName = NamesFoot.FirstOrDefault(name => updatedStr.IndexOf(name, StringComparison.OrdinalIgnoreCase) != -1);
+			string footName = NamesFoot.FirstOrDefault(name => updatedStr.IndexOf(name, StringComparison.OrdinalIgnoreCase) != -1);
 
-            if (footName == null){
-                return src;
-            }
+			if (footName == null) {
+				return src;
+			}
 
-            int footIndex = updatedStr.IndexOf(footName, StringComparison.OrdinalIgnoreCase);
-            updatedStr = updatedStr.Remove(footIndex, footName.Length).Insert(footIndex, new string(' ', footName.Length));
+			int footIndex = updatedStr.IndexOf(footName, StringComparison.OrdinalIgnoreCase);
+			updatedStr = updatedStr.Remove(footIndex, footName.Length).Insert(footIndex, new string(' ', footName.Length));
 
-            string[] tokens = updatedStr.Split(new char[]{ ' ' }, StringSplitOptions.RemoveEmptyEntries);
-            decimal[] numbers = new decimal[2];
-            int numberIndex = 0;
+			string[] tokens = updatedStr.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
+			decimal[] numbers = new decimal[2];
+			int numberIndex = 0;
 
-            foreach(string token in tokens){
-                decimal number;
+			foreach (string token in tokens) {
+				decimal number;
 
-                if (decimal.TryParse(token.Trim(), NumberStyle, CultureInfo.InvariantCulture, out number)){
-                    if (numberIndex < numbers.Length){
-                        numbers[numberIndex++] = number;
-                    }
-                    else{
-                        return src;
-                    }
-                }
-            }
+				if (decimal.TryParse(token.Trim(), NumberStyle, CultureInfo.InvariantCulture, out number)) {
+					if (numberIndex < numbers.Length) {
+						numbers[numberIndex++] = number;
+					}
+					else {
+						return src;
+					}
+				}
+			}
 
-            if (numberIndex != numbers.Length){
-                return src;
-            }
+			if (numberIndex != numbers.Length) {
+				return src;
+			}
 
-            decimal srcFeet = numbers[footIndex < inchIndex ? 0 : 1];
-            decimal srcInches = numbers[inchIndex < footIndex ? 0 : 1];
+			decimal srcFeet = numbers[footIndex < inchIndex ? 0 : 1];
+			decimal srcInches = numbers[inchIndex < footIndex ? 0 : 1];
 
-            return srcInches+srcFeet*12M+" in";
-        }
-    }
+			return srcInches + srcFeet * 12M + " in";
+		}
+	}
 }
diff --git a/AppConv/Units/Radix.cs b/AppConv/Units/Radix.cs
index 7fca362..550fb61 100644
--- a/AppConv/Units/Radix.cs
+++ b/AppConv/Units/Radix.cs
@@ -5,120 +5,120 @@ using AppConv.General;
 using AppConv.Utils;
 using Base;
 
-namespace AppConv.Units{
-    internal class Radix : IUnitType{
-        private static readonly Dictionary<string, int> RadixDescriptions = new Dictionary<string, int>{
-            { "UNARY", 1 },
-            { "BINARY", 2 },
-            { "BIN", 2 },
-            { "TERNARY", 3 },
-            { "QUATERNARY", 4 },
-            { "QUINARY", 5 },
-            { "SENARY", 6 },
-            { "OCTAL", 8 },
-            { "OCT", 8 },
-            { "DECIMAL", 10 },
-            { "DEC", 10 },
-            { "UNDECIMAL", 11 },
-            { "DUODECIMAL", 12 },
-            { "DOZENAL", 12 },
-            { "TRIDECIMAL", 13 },
-            { "TETRADECIMAL", 14 },
-            { "PENTADECIMAL", 15 },
-            { "HEXADECIMAL", 16 },
-            { "HEX", 16 }
-        };
+namespace AppConv.Units {
+	class Radix : IUnitType {
+		private static readonly Dictionary<string, int> RadixDescriptions = new Dictionary<string, int> {
+			{ "UNARY", 1 },
+			{ "BINARY", 2 },
+			{ "BIN", 2 },
+			{ "TERNARY", 3 },
+			{ "QUATERNARY", 4 },
+			{ "QUINARY", 5 },
+			{ "SENARY", 6 },
+			{ "OCTAL", 8 },
+			{ "OCT", 8 },
+			{ "DECIMAL", 10 },
+			{ "DEC", 10 },
+			{ "UNDECIMAL", 11 },
+			{ "DUODECIMAL", 12 },
+			{ "DOZENAL", 12 },
+			{ "TRIDECIMAL", 13 },
+			{ "TETRADECIMAL", 14 },
+			{ "PENTADECIMAL", 15 },
+			{ "HEXADECIMAL", 16 },
+			{ "HEX", 16 }
+		};
 
-        static Radix(){
-            for(int baseNumber = 1; baseNumber <= 16; baseNumber++){
-                RadixDescriptions.Add("RADIX "+baseNumber, baseNumber);
-                RadixDescriptions.Add("BASE "+baseNumber, baseNumber);
-            }
-        }
+		static Radix() {
+			for (int baseNumber = 1; baseNumber <= 16; baseNumber++) {
+				RadixDescriptions.Add("RADIX " + baseNumber, baseNumber);
+				RadixDescriptions.Add("BASE " + baseNumber, baseNumber);
+			}
+		}
 
-        public bool TryProcess(string src, string dst, out string result){
-            int targetBase;
+		public bool TryProcess(string src, string dst, out string result) {
+			int targetBase;
 
-            if (!RadixDescriptions.TryGetValue(dst.ToUpperInvariant(), out targetBase)){
-                result = string.Empty;
-                return false;
-            }
+			if (!RadixDescriptions.TryGetValue(dst.ToUpperInvariant(), out targetBase)) {
+				result = string.Empty;
+				return false;
+			}
 
-            string contents;
-            int sourceBase;
+			string contents;
+			int sourceBase;
 
-            if (!ParseSrc(src, out contents, out sourceBase)){
-                result = string.Empty;
-                return false;
-            }
+			if (!ParseSrc(src, out contents, out sourceBase)) {
+				result = string.Empty;
+				return false;
+			}
 
-            if (contents[0] == '-'){
-                throw new CommandException("Negative numbers are not supported.");
-            }
-            else if (!RadixConversion.IsBaseValid(sourceBase) || !RadixConversion.IsBaseValid(targetBase)){
-                throw new CommandException("Only bases between 1 and 16 allowed.");
-            }
-            else if (!RadixConversion.IsNumberValid(contents, sourceBase)){
-                throw new CommandException("The input is not a valid base "+sourceBase+" number: "+contents);
-            }
+			if (contents[0] == '-') {
+				throw new CommandException("Negative numbers are not supported.");
+			}
+			else if (!RadixConversion.IsBaseValid(sourceBase) || !RadixConversion.IsBaseValid(targetBase)) {
+				throw new CommandException("Only bases between 1 and 16 allowed.");
+			}
+			else if (!RadixConversion.IsNumberValid(contents, sourceBase)) {
+				throw new CommandException("The input is not a valid base " + sourceBase + " number: " + contents);
+			}
 
-            if (sourceBase == targetBase){
-                result = src;
-                return true;
-            }
+			if (sourceBase == targetBase) {
+				result = src;
+				return true;
+			}
 
-            try{
-                result = RadixConversion.Do(contents, sourceBase, targetBase);
-            }catch(OverflowException){
-                throw new CommandException("The number has overflown.");
-            }
+			try {
+				result = RadixConversion.Do(contents, sourceBase, targetBase);
+			} catch (OverflowException) {
+				throw new CommandException("The number has overflown.");
+			}
 
-            return true;
-        }
+			return true;
+		}
 
-        private static bool ParseSrc(string src, out string sourceContent, out int sourceBase){
-            if (src.All(chr => chr >= '0' && chr <= '9')){
-                sourceContent = src;
-                sourceBase = 10;
-                return true;
-            }
+		private static bool ParseSrc(string src, out string sourceContent, out int sourceBase) {
+			if (src.All(chr => chr >= '0' && chr <= '9')) {
+				sourceContent = src;
+				sourceBase = 10;
+				return true;
+			}
 
-            string upper = src.ToUpperInvariant();
+			string upper = src.ToUpperInvariant();
 
-            if (upper.StartsWith("0X")){
-                sourceContent = upper.Substring(2);
-                sourceBase = 16;
-                return true;
-            }
+			if (upper.StartsWith("0X")) {
+				sourceContent = upper.Substring(2);
+				sourceBase = 16;
+				return true;
+			}
 
-            if (upper.StartsWith("0B")){
-                sourceContent = upper.Substring(2);
-                sourceBase = 2;
-                return true;
-            }
+			if (upper.StartsWith("0B")) {
+				sourceContent = upper.Substring(2);
+				sourceBase = 2;
+				return true;
+			}
 
-            int fromIndex = src.IndexOf("FROM", StringComparison.InvariantCultureIgnoreCase);
+			int fromIndex = src.IndexOf("FROM", StringComparison.InvariantCultureIgnoreCase);
 
-            if (fromIndex != -1){
-                src = src.Remove(fromIndex, 4);
-            }
+			if (fromIndex != -1) {
+				src = src.Remove(fromIndex, 4);
+			}
 
-            foreach(KeyValuePair<string, int> kvp in RadixDescriptions){
-                if (src.StartsWith(kvp.Key, StringComparison.InvariantCultureIgnoreCase)){
-                    sourceContent = src.Substring(kvp.Key.Length).Trim();
-                    sourceBase = kvp.Value;
-                    return true;
-                }
-                else if (src.EndsWith(kvp.Key, StringComparison.InvariantCultureIgnoreCase)){
-                    sourceContent = src.Substring(0, src.Length-kvp.Key.Length).Trim();
-                    sourceBase = kvp.Value;
-                    return true;
-                }
-            }
+			foreach (KeyValuePair<string, int> kvp in RadixDescriptions) {
+				if (src.StartsWith(kvp.Key, StringComparison.InvariantCultureIgnoreCase)) {
+					sourceContent = src.Substring(kvp.Key.Length).Trim();
+					sourceBase = kvp.Value;
+					return true;
+				}
+				else if (src.EndsWith(kvp.Key, StringComparison.InvariantCultureIgnoreCase)) {
+					sourceContent = src.Substring(0, src.Length - kvp.Key.Length).Trim();
+					sourceBase = kvp.Value;
+					return true;
+				}
+			}
 
-            sourceContent = string.Empty;
-            sourceBase = 0;
-            return false;
-        } 
-    }
+			sourceContent = string.Empty;
+			sourceBase = 0;
+			return false;
+		}
+	}
 }
diff --git a/AppConv/Units/Storage.cs b/AppConv/Units/Storage.cs
index 3addcdc..7dfb6b0 100644
--- a/AppConv/Units/Storage.cs
+++ b/AppConv/Units/Storage.cs
@@ -3,27 +3,29 @@ using AppConv.General;
 using AppConv.Utils;
 
 namespace AppConv.Units {
-    internal class Storage : DecimalUnitConverterSimple<Storage.Units>{
-        internal enum Units{
-            Invalid = 0, Byte, Bit
-        }
+	class Storage : DecimalUnitConverterSimple<Storage.Units> {
+		internal enum Units {
+			Invalid = 0,
+			Byte,
+			Bit
+		}
 
-        public Storage(){
-            AddUnit(Units.Byte, "B", "byte", "bytes");
-            AddUnit(Units.Bit, "b", "bit", "bits");
+		public Storage() {
+			AddUnit(Units.Byte, "B", "byte", "bytes");
+			AddUnit(Units.Bit, "b", "bit", "bits");
 
-            SetUnitFactor(Units.Bit, 8M);
+			SetUnitFactor(Units.Bit, 8M);
 
-            SetInvalidUnitObject(Units.Invalid);
+			SetInvalidUnitObject(Units.Invalid);
 
-            SI.ExtededProperties bitConversionProperties = new SI.ExtededProperties{
-                FactorPredicate = factor => factor > 0 && factor%3 == 0,
-                FromFunctionGenerator = exponent => () => (decimal)Math.Pow(1024, -(int)(exponent/3)),
-                ToFunctionGenerator = exponent => () => (decimal)Math.Pow(1024, (int)(exponent/3))
-            };
+			var bitConversionProperties = new SI.ExtededProperties {
+				FactorPredicate = factor => factor > 0 && factor % 3 == 0,
+				FromFunctionGenerator = exponent => () => (decimal) Math.Pow(1024, -(int) (exponent / 3)),
+				ToFunctionGenerator = exponent => () => (decimal) Math.Pow(1024, (int) (exponent / 3))
+			};
 
-            SI.AddSupportCustom(typeof(Units), Units.Byte, new []{ "B" }, new []{ "byte", "bytes" }, ConvertFrom, ConvertTo, Names, bitConversionProperties);
-            SI.AddSupportCustom(typeof(Units), Units.Bit, new []{ "b" }, new []{ "bit", "bits" }, ConvertFrom, ConvertTo, Names, bitConversionProperties);
-        }
-    }
+			SI.AddSupportCustom(typeof(Units), Units.Byte, new [] { "B" }, new [] { "byte", "bytes" }, ConvertFrom, ConvertTo, Names, bitConversionProperties);
+			SI.AddSupportCustom(typeof(Units), Units.Bit, new [] { "b" }, new [] { "bit", "bits" }, ConvertFrom, ConvertTo, Names, bitConversionProperties);
+		}
+	}
 }
diff --git a/AppConv/Units/Temperature.cs b/AppConv/Units/Temperature.cs
index d7d7a97..90f8d21 100644
--- a/AppConv/Units/Temperature.cs
+++ b/AppConv/Units/Temperature.cs
@@ -3,100 +3,88 @@ using System.Text.RegularExpressions;
 using AppConv.General;
 using Base.Utils;
 
-namespace AppConv.Units{
-    internal class Temperature : DecimalUnitConverterBase<Temperature.Units>{
-        internal enum Units{
-            Invalid = 0, Celsius, Kelvin, Fahrenheit, Rankine, Delisle, Newton, Reaumur, Romer
-        }
+namespace AppConv.Units {
+	class Temperature : DecimalUnitConverterBase<Temperature.Units> {
+		internal enum Units {
+			Invalid = 0,
+			Celsius,
+			Kelvin,
+			Fahrenheit,
+			Rankine,
+			Delisle,
+			Newton,
+			Reaumur,
+			Romer
+		}
 
-        private static readonly NameMap UnitNames = new NameMap(21){
-            { "C", Units.Celsius },
-            { "Celsius", Units.Celsius },
-            { "K", Units.Kelvin },
-            { "Kelvin", Units.Kelvin },
-            { "F", Units.Fahrenheit },
-            { "Fahrenheit", Units.Fahrenheit },
-            { "R", Units.Rankine },
-            { "Ra", Units.Rankine },
-            { "Rankine", Units.Rankine },
-            { "De", Units.Delisle },
-            { "Delisle", Units.Delisle },
-            { "N", Units.Newton },
-            { "Newton", Units.Newton },
-            { "Re", Units.Reaumur },
-            { "Ré", Units.Reaumur },
-            { "Reaumur", Units.Reaumur },
-            { "Réaumur", Units.Reaumur },
-            { "Ro", Units.Romer },
-            { "Rø", Units.Romer },
-            { "Romer", Units.Romer },
-            { "Rømer", Units.Romer }
-        };
+		private static readonly NameMap UnitNames = new NameMap(21) {
+			{ "C", Units.Celsius },
+			{ "Celsius", Units.Celsius },
+			{ "K", Units.Kelvin },
+			{ "Kelvin", Units.Kelvin },
+			{ "F", Units.Fahrenheit },
+			{ "Fahrenheit", Units.Fahrenheit },
+			{ "R", Units.Rankine },
+			{ "Ra", Units.Rankine },
+			{ "Rankine", Units.Rankine },
+			{ "De", Units.Delisle },
+			{ "Delisle", Units.Delisle },
+			{ "N", Units.Newton },
+			{ "Newton", Units.Newton },
+			{ "Re", Units.Reaumur },
+			{ "Ré", Units.Reaumur },
+			{ "Reaumur", Units.Reaumur },
+			{ "Réaumur", Units.Reaumur },
+			{ "Ro", Units.Romer },
+			{ "Rø", Units.Romer },
+			{ "Romer", Units.Romer },
+			{ "Rømer", Units.Romer }
+		};
 
-        private static readonly DecimalFuncMap FromCelsius = new DecimalFuncMap(8){
-            { Units.Celsius, val => val },
-            { Units.Kelvin, val => val+273.15M },
-            { Units.Fahrenheit, val => val*1.8M+32M },
-            { Units.Rankine, val => (val+273.15M)*1.8M },
-            { Units.Delisle, val => (100M-val)*1.5M },
-            { Units.Newton, val => val*0.33M },
-            { Units.Reaumur, val => val*0.8M },
-            { Units.Romer, val => val*0.525M+7.5M }
-        };
+		private static readonly DecimalFuncMap FromCelsius = new DecimalFuncMap(8) {
+			{ Units.Celsius, val => val },
+			{ Units.Kelvin, val => val + 273.15M },
+			{ Units.Fahrenheit, val => val * 1.8M + 32M },
+			{ Units.Rankine, val => (val + 273.15M) * 1.8M },
+			{ Units.Delisle, val => (100M - val) * 1.5M },
+			{ Units.Newton, val => val * 0.33M },
+			{ Units.Reaumur, val => val * 0.8M },
+			{ Units.Romer, val => val * 0.525M + 7.5M }
+		};
 
-        private static readonly DecimalFuncMap ToCelsius = new DecimalFuncMap(8){
-            { Units.Celsius, val => val },
-            { Units.Kelvin, val => val-273.15M },
-            { Units.Fahrenheit, val => (val-32M)*5M/9M },
-            { Units.Rankine, val => (val-491.67M)*5M/9M },
-            { Units.Delisle, val => 100M-val*2M/3M },
-            { Units.Newton, val => val*100M/33M },
-            { Units.Reaumur, val => val*1.25M },
-            { Units.Romer, val => (val-7.5M)*40M/21M }
-        };
+		private static readonly DecimalFuncMap ToCelsius = new DecimalFuncMap(8) {
+			{ Units.Celsius, val => val },
+			{ Units.Kelvin, val => val - 273.15M },
+			{ Units.Fahrenheit, val => (val - 32M) * 5M / 9M },
+			{ Units.Rankine, val => (val - 491.67M) * 5M / 9M },
+			{ Units.Delisle, val => 100M - val * 2M / 3M },
+			{ Units.Newton, val => val * 100M / 33M },
+			{ Units.Reaumur, val => val * 1.25M },
+			{ Units.Romer, val => (val - 7.5M) * 40M / 21M }
+		};
 
-        private static readonly Regex RegexCleanup = new Regex("deg(?:rees?)?|°", RegexUtils.Text);
+		private static readonly Regex RegexCleanup = new Regex("deg(?:rees?)?|°", RegexUtils.Text);
 
-        protected override NameMap Names{
-            get{
-                return UnitNames;
-            }
-        }
+		protected override NameMap Names => UnitNames;
 
-        protected override DecimalFuncMap ConvertFrom{
-            get{
-                return FromCelsius;
-            }
-        }
+		protected override DecimalFuncMap ConvertFrom => FromCelsius;
 
-        protected override DecimalFuncMap ConvertTo{
-            get{
-                return ToCelsius;
-            }
-        }
+		protected override DecimalFuncMap ConvertTo => ToCelsius;
 
-        protected override int Precision{
-            get{
-                return 2;
-            }
-        }
+		protected override int Precision => 2;
 
-        protected override NumberStyles NumberStyle{
-            get{
-                return NumberStyles.Float;
-            }
-        }
+		protected override NumberStyles NumberStyle => NumberStyles.Float;
 
-        protected override string ProcessSrc(string src){
-            return RegexCleanup.Replace(src, "");
-        }
+		protected override string ProcessSrc(string src) {
+			return RegexCleanup.Replace(src, "");
+		}
 
-        protected override string ProcessDst(string dst){
-            return RegexCleanup.Replace(dst, "");
-        }
+		protected override string ProcessDst(string dst) {
+			return RegexCleanup.Replace(dst, "");
+		}
 
-        protected override bool IsValueInvalid(Units value){
-            return value == Units.Invalid;
-        }
-    }
+		protected override bool IsValueInvalid(Units value) {
+			return value == Units.Invalid;
+		}
+	}
 }
diff --git a/AppConv/Units/Volume.cs b/AppConv/Units/Volume.cs
index 154b11f..06ad7d6 100644
--- a/AppConv/Units/Volume.cs
+++ b/AppConv/Units/Volume.cs
@@ -1,28 +1,34 @@
 using AppConv.General;
 using AppConv.Utils;
 
-namespace AppConv.Units{
-    internal class Volume : DecimalUnitConverterSimple<Volume.Units>{
-        internal enum Units{
-            Invalid = 0, Liter, CubicMM, CubicCM, CubicDM, CubicM, CubicKM
-        }
+namespace AppConv.Units {
+	class Volume : DecimalUnitConverterSimple<Volume.Units> {
+		internal enum Units {
+			Invalid = 0,
+			Liter,
+			CubicMM,
+			CubicCM,
+			CubicDM,
+			CubicM,
+			CubicKM
+		}
 
-        public Volume(){
-            AddUnit(Units.Liter, "l", "liter", "liters", "litre", "litres");
-            AddUnit(Units.CubicMM, "mm3", "cubic mm", "cubic millimeter", "cubic millimeters", "cubic millimetre", "cubic millimetres");
-            AddUnit(Units.CubicCM, "cm3", "cubic cm", "cubic centimeter", "cubic centimeters", "cubic centimetre", "cubic centimetres");
-            AddUnit(Units.CubicDM, "dm3", "cubic dm", "cubic decimeter", "cubic decimeters", "cubic decimetre", "cubic decimetres");
-            AddUnit(Units.CubicM, "m3", "cubic m", "cubic meter", "cubic meters", "cubic metre", "cubic metres");
-            AddUnit(Units.CubicKM, "km3", "cubic km", "cubic kilometer", "cubic kilometers", "cubic kilometre", "cubic kilometres");
+		public Volume() {
+			AddUnit(Units.Liter, "l", "liter", "liters", "litre", "litres");
+			AddUnit(Units.CubicMM, "mm3", "cubic mm", "cubic millimeter", "cubic millimeters", "cubic millimetre", "cubic millimetres");
+			AddUnit(Units.CubicCM, "cm3", "cubic cm", "cubic centimeter", "cubic centimeters", "cubic centimetre", "cubic centimetres");
+			AddUnit(Units.CubicDM, "dm3", "cubic dm", "cubic decimeter", "cubic decimeters", "cubic decimetre", "cubic decimetres");
+			AddUnit(Units.CubicM, "m3", "cubic m", "cubic meter", "cubic meters", "cubic metre", "cubic metres");
+			AddUnit(Units.CubicKM, "km3", "cubic km", "cubic kilometer", "cubic kilometers", "cubic kilometre", "cubic kilometres");
 
-            SetUnitFactor(Units.CubicMM, 1000000M);
-            SetUnitFactor(Units.CubicCM, 1000M);
-            SetUnitFactor(Units.CubicM, 0.001M);
-            SetUnitFactor(Units.CubicKM, 1E-12M);
+			SetUnitFactor(Units.CubicMM, 1000000M);
+			SetUnitFactor(Units.CubicCM, 1000M);
+			SetUnitFactor(Units.CubicM, 0.001M);
+			SetUnitFactor(Units.CubicKM, 1E-12M);
 
-            SetInvalidUnitObject(Units.Invalid);
+			SetInvalidUnitObject(Units.Invalid);
 
-            SI.AddSupport(typeof(Units), Units.Liter, new []{ "l" }, new []{ "liter", "litre", "liters", "litres" }, ConvertFrom, ConvertTo, Names);
-        }
-    }
+			SI.AddSupport(typeof(Units), Units.Liter, new [] { "l" }, new [] { "liter", "litre", "liters", "litres" }, ConvertFrom, ConvertTo, Names);
+		}
+	}
 }
diff --git a/AppConv/Units/Weight.cs b/AppConv/Units/Weight.cs
index 35896f8..1ade069 100644
--- a/AppConv/Units/Weight.cs
+++ b/AppConv/Units/Weight.cs
@@ -2,24 +2,28 @@
 using AppConv.Utils;
 
 namespace AppConv.Units {
-    internal class Weight : DecimalUnitConverterSimple<Weight.Units>{
-        internal enum Units{
-            Invalid = 0, Gram, Pound, Ounce, Stone
-        }
+	class Weight : DecimalUnitConverterSimple<Weight.Units> {
+		internal enum Units {
+			Invalid = 0,
+			Gram,
+			Pound,
+			Ounce,
+			Stone
+		}
 
-        public Weight(){
-            AddUnit(Units.Gram, "g", "gram", "grams");
-            AddUnit(Units.Pound, "lb", "lbs", "pound", "pounds");
-            AddUnit(Units.Ounce, "oz", "ounce", "ounces");
-            AddUnit(Units.Stone, "st", "stone", "stones");
+		public Weight() {
+			AddUnit(Units.Gram, "g", "gram", "grams");
+			AddUnit(Units.Pound, "lb", "lbs", "pound", "pounds");
+			AddUnit(Units.Ounce, "oz", "ounce", "ounces");
+			AddUnit(Units.Stone, "st", "stone", "stones");
 
-            SetUnitFactor(Units.Pound, 0.0022046226218M);
-            SetUnitFactor(Units.Ounce, 0.03527396195M);
-            SetUnitFactor(Units.Stone, 0.0001574730444177697M);
+			SetUnitFactor(Units.Pound, 0.0022046226218M);
+			SetUnitFactor(Units.Ounce, 0.03527396195M);
+			SetUnitFactor(Units.Stone, 0.0001574730444177697M);
 
-            SetInvalidUnitObject(Units.Invalid);
+			SetInvalidUnitObject(Units.Invalid);
 
-            SI.AddSupport(typeof(Units), Units.Gram, new []{ "g" }, new []{ "gram", "grams" }, ConvertFrom, ConvertTo, Names);
-        }
-    }
+			SI.AddSupport(typeof(Units), Units.Gram, new [] { "g" }, new [] { "gram", "grams" }, ConvertFrom, ConvertTo, Names);
+		}
+	}
 }
diff --git a/AppConv/Utils/RadixConversion.cs b/AppConv/Utils/RadixConversion.cs
index dcdb4ae..99e0aa4 100644
--- a/AppConv/Utils/RadixConversion.cs
+++ b/AppConv/Utils/RadixConversion.cs
@@ -3,76 +3,76 @@ using System.Globalization;
 using System.Linq;
 using System.Text;
 
-namespace AppConv.Utils{
-    internal static class RadixConversion{
-        private const string Characters = "0123456789ABCDEF";
+namespace AppConv.Utils {
+	static class RadixConversion {
+		private const string Characters = "0123456789ABCDEF";
 
-        public static bool IsBaseValid(int checkedBase){
-            return checkedBase >= 1 && checkedBase <= 16;
-        }
+		public static bool IsBaseValid(int checkedBase) {
+			return checkedBase >= 1 && checkedBase <= 16;
+		}
 
-        public static bool IsNumberValid(string contents, int checkedBase){
-            if (checkedBase == 1){
-                return contents.All(chr => chr == '1');
-            }
+		public static bool IsNumberValid(string contents, int checkedBase) {
+			if (checkedBase == 1) {
+				return contents.All(chr => chr == '1');
+			}
 
-            if (IsBaseValid(checkedBase)){
-                return contents.Select(chr => Characters.IndexOf(char.ToUpper(chr))).All(index => index != -1 && index < checkedBase);
-            }
+			if (IsBaseValid(checkedBase)) {
+				return contents.Select(chr => Characters.IndexOf(char.ToUpper(chr))).All(index => index != -1 && index < checkedBase);
+			}
 
-            return false;
-        }
+			return false;
+		}
 
-        public static string Do(string contents, int fromBase, int toBase){ // TODO biginteger
-            if (fromBase == 1){
-                contents = contents.Length.ToString(CultureInfo.InvariantCulture);
-                fromBase = 10;
-            }
+		public static string Do(string contents, int fromBase, int toBase) { // TODO biginteger
+			if (fromBase == 1) {
+				contents = contents.Length.ToString(CultureInfo.InvariantCulture);
+				fromBase = 10;
+			}
 
-            long wip;
+			long wip;
 
-            if (fromBase == 10){
-                wip = long.Parse(contents, NumberStyles.None, CultureInfo.InvariantCulture);
-            }
-            else{
-                wip = 0;
+			if (fromBase == 10) {
+				wip = long.Parse(contents, NumberStyles.None, CultureInfo.InvariantCulture);
+			}
+			else {
+				wip = 0;
 
-                for(int chr = 0; chr < contents.Length; chr++){
-                    int index = Characters.IndexOf(char.ToUpperInvariant(contents[chr]));
+				for (int chr = 0; chr < contents.Length; chr++) {
+					int index = Characters.IndexOf(char.ToUpperInvariant(contents[chr]));
 
-                    if (index > 0){
-                        wip += index*(long)Math.Pow(fromBase, contents.Length-chr-1);
+					if (index > 0) {
+						wip += index * (long) Math.Pow(fromBase, contents.Length - chr - 1);
 
-                        if (wip < 0){
-                            throw new OverflowException();
-                        }
-                    }
-                }
-            }
+						if (wip < 0) {
+							throw new OverflowException();
+						}
+					}
+				}
+			}
 
-            if (toBase == 1){
-                if (wip <= int.MaxValue){
-                    return new string('1', (int)wip);
-                }
-                else{
-                    throw new OverflowException();
-                }
-            }
-            else if (wip < toBase){
-                return Characters[(int)wip].ToString();
-            }
-            else{
-                StringBuilder converted = new StringBuilder();
+			if (toBase == 1) {
+				if (wip <= int.MaxValue) {
+					return new string('1', (int) wip);
+				}
+				else {
+					throw new OverflowException();
+				}
+			}
+			else if (wip < toBase) {
+				return Characters[(int) wip].ToString();
+			}
+			else {
+				var converted = new StringBuilder();
 
-                while(wip >= toBase){
-                    int index = (int)(wip%toBase);
-                    converted.Insert(0, Characters[index]);
+				while (wip >= toBase) {
+					int index = (int) (wip % toBase);
+					converted.Insert(0, Characters[index]);
 
-                    wip = wip/toBase;
-                }
+					wip = wip / toBase;
+				}
 
-                return converted.Insert(0, Characters[(int)wip]).ToString();
-            }
-        }
-    }
+				return converted.Insert(0, Characters[(int) wip]).ToString();
+			}
+		}
+	}
 }
diff --git a/AppConv/Utils/SI.cs b/AppConv/Utils/SI.cs
index 5c027e2..051b05b 100644
--- a/AppConv/Utils/SI.cs
+++ b/AppConv/Utils/SI.cs
@@ -2,88 +2,88 @@
 using System.Collections.Generic;
 using AppConv.General;
 
-namespace AppConv.Utils{
-    internal static class SI{
-        private static readonly List<Tuple<string, string, int>> Factors = new List<Tuple<string, string, int>>{
-            new Tuple<string, string, int>("yotta", "Y", 24),
-            new Tuple<string, string, int>("zetta", "Z", 21),
-            new Tuple<string, string, int>("exa", "E", 18),
-            new Tuple<string, string, int>("peta", "P", 15),
-            new Tuple<string, string, int>("tera", "T", 12),
-            new Tuple<string, string, int>("giga", "G", 9),
-            new Tuple<string, string, int>("mega", "M", 6),
-            new Tuple<string, string, int>("kilo", "k", 3),
-            new Tuple<string, string, int>("hecto", "h", 2),
-            new Tuple<string, string, int>("deca", "da", 1),
-            new Tuple<string, string, int>("deci", "d", -1),
-            new Tuple<string, string, int>("centi", "c", -2),
-            new Tuple<string, string, int>("milli", "m", -3),
-            new Tuple<string, string, int>("micro", "μ", -6),
-            new Tuple<string, string, int>("nano", "n", -9),
-            new Tuple<string, string, int>("pico", "p", -12),
-            new Tuple<string, string, int>("femto", "f", -15),
-            new Tuple<string, string, int>("atto", "a", -18),
-            new Tuple<string, string, int>("zepto", "z", -21),
-            new Tuple<string, string, int>("yocto", "y", -24)
-        };
+namespace AppConv.Utils {
+	static class SI {
+		private static readonly List<Tuple<string, string, int>> Factors = new List<Tuple<string, string, int>> {
+			new Tuple<string, string, int>("yotta", "Y", 24),
+			new Tuple<string, string, int>("zetta", "Z", 21),
+			new Tuple<string, string, int>("exa", "E", 18),
+			new Tuple<string, string, int>("peta", "P", 15),
+			new Tuple<string, string, int>("tera", "T", 12),
+			new Tuple<string, string, int>("giga", "G", 9),
+			new Tuple<string, string, int>("mega", "M", 6),
+			new Tuple<string, string, int>("kilo", "k", 3),
+			new Tuple<string, string, int>("hecto", "h", 2),
+			new Tuple<string, string, int>("deca", "da", 1),
+			new Tuple<string, string, int>("deci", "d", -1),
+			new Tuple<string, string, int>("centi", "c", -2),
+			new Tuple<string, string, int>("milli", "m", -3),
+			new Tuple<string, string, int>("micro", "μ", -6),
+			new Tuple<string, string, int>("nano", "n", -9),
+			new Tuple<string, string, int>("pico", "p", -12),
+			new Tuple<string, string, int>("femto", "f", -15),
+			new Tuple<string, string, int>("atto", "a", -18),
+			new Tuple<string, string, int>("zepto", "z", -21),
+			new Tuple<string, string, int>("yocto", "y", -24)
+		};
 
-        public static void AddSupport<T>(Type enumType, T unitObject, string[] unitShortNames, string[] unitLongNames, DecimalUnitConverterBase<T>.DecimalFuncMap funcFrom, DecimalUnitConverterBase<T>.DecimalFuncMap funcTo, DecimalUnitConverterBase<T>.NameMap nameMap) where T : struct{
-            int enumCounter = 1000+Factors.Count*(int)(object)unitObject;
+		public static void AddSupport<T>(Type enumType, T unitObject, string[] unitShortNames, string[] unitLongNames, DecimalUnitConverterBase<T>.DecimalFuncMap funcFrom, DecimalUnitConverterBase<T>.DecimalFuncMap funcTo, DecimalUnitConverterBase<T>.NameMap nameMap) where T : struct {
+			int enumCounter = 1000 + Factors.Count * (int) (object) unitObject;
 
-            Func<decimal, decimal> convertFrom = funcFrom[unitObject];
-            Func<decimal, decimal> convertTo = funcTo[unitObject];
+			Func<decimal, decimal> convertFrom = funcFrom[unitObject];
+			Func<decimal, decimal> convertTo = funcTo[unitObject];
 
-            foreach(Tuple<string, string, int> factor in Factors){
-                T enumObject = (T)(object)enumCounter++;
-                int exponent = factor.Item3;
+			foreach (Tuple<string, string, int> factor in Factors) {
+				T enumObject = (T) (object) enumCounter++;
+				int exponent = factor.Item3;
 
-                foreach(string unitShortName in unitShortNames){
-                    nameMap.Add(factor.Item2+unitShortName, enumObject);
-                }
+				foreach (string unitShortName in unitShortNames) {
+					nameMap.Add(factor.Item2 + unitShortName, enumObject);
+				}
 
-                foreach(string unitLongName in unitLongNames){
-                    nameMap.Add(factor.Item1+unitLongName, enumObject);
-                }
-                
-                funcFrom.Add(enumObject, val => convertFrom(val)*(decimal)Math.Pow(10, -exponent));
-                funcTo.Add(enumObject, val => convertTo(val)*(decimal)Math.Pow(10, exponent));
-            }
-        }
+				foreach (string unitLongName in unitLongNames) {
+					nameMap.Add(factor.Item1 + unitLongName, enumObject);
+				}
 
-        public static void AddSupportCustom<T>(Type enumType, T unitObject, string[] unitShortNames, string[] unitLongNames, DecimalUnitConverterBase<T>.DecimalFuncMap funcFrom, DecimalUnitConverterBase<T>.DecimalFuncMap funcTo, DecimalUnitConverterBase<T>.NameMap nameMap, ExtededProperties extendedProps) where T : struct{
-            int enumCounter = 1000+Factors.Count*(int)(object)unitObject;
+				funcFrom.Add(enumObject, val => convertFrom(val) * (decimal) Math.Pow(10, -exponent));
+				funcTo.Add(enumObject, val => convertTo(val) * (decimal) Math.Pow(10, exponent));
+			}
+		}
 
-            Func<decimal, decimal> convertFrom = funcFrom[unitObject];
-            Func<decimal, decimal> convertTo = funcTo[unitObject];
+		public static void AddSupportCustom<T>(Type enumType, T unitObject, string[] unitShortNames, string[] unitLongNames, DecimalUnitConverterBase<T>.DecimalFuncMap funcFrom, DecimalUnitConverterBase<T>.DecimalFuncMap funcTo, DecimalUnitConverterBase<T>.NameMap nameMap, ExtededProperties extendedProps) where T : struct {
+			int enumCounter = 1000 + Factors.Count * (int) (object) unitObject;
 
-            foreach(Tuple<string, string, int> factor in Factors){
-                if (extendedProps.FactorPredicate != null && !extendedProps.FactorPredicate(factor.Item3)){
-                    continue;
-                }
+			Func<decimal, decimal> convertFrom = funcFrom[unitObject];
+			Func<decimal, decimal> convertTo = funcTo[unitObject];
 
-                T enumObject = (T)(object)enumCounter++;
-                int exponent = factor.Item3;
+			foreach (Tuple<string, string, int> factor in Factors) {
+				if (extendedProps.FactorPredicate != null && !extendedProps.FactorPredicate(factor.Item3)) {
+					continue;
+				}
 
-                foreach(string unitShortName in unitShortNames){
-                    nameMap.Add(factor.Item2+unitShortName, enumObject);
-                }
+				T enumObject = (T) (object) enumCounter++;
+				int exponent = factor.Item3;
 
-                foreach(string unitLongName in unitLongNames){
-                    nameMap.Add(factor.Item1+unitLongName, enumObject);
-                }
+				foreach (string unitShortName in unitShortNames) {
+					nameMap.Add(factor.Item2 + unitShortName, enumObject);
+				}
 
-                Func<decimal> genFrom = extendedProps.FromFunctionGenerator(exponent);
-                Func<decimal> genTo = extendedProps.ToFunctionGenerator(exponent);
-                
-                funcFrom.Add(enumObject, val => convertFrom(val)*genFrom());
-                funcTo.Add(enumObject, val => convertTo(val)*genTo());
-            }
-        }
+				foreach (string unitLongName in unitLongNames) {
+					nameMap.Add(factor.Item1 + unitLongName, enumObject);
+				}
 
-        internal class ExtededProperties{
-            public Predicate<int> FactorPredicate { get; set; }
-            public Func<int, Func<decimal>> FromFunctionGenerator { get; set; }
-            public Func<int, Func<decimal>> ToFunctionGenerator { get; set; }
-        }
-    }
+				Func<decimal> genFrom = extendedProps.FromFunctionGenerator(exponent);
+				Func<decimal> genTo = extendedProps.ToFunctionGenerator(exponent);
+
+				funcFrom.Add(enumObject, val => convertFrom(val) * genFrom());
+				funcTo.Add(enumObject, val => convertTo(val) * genTo());
+			}
+		}
+
+		internal class ExtededProperties {
+			public Predicate<int> FactorPredicate { get; set; }
+			public Func<int, Func<decimal>> FromFunctionGenerator { get; set; }
+			public Func<int, Func<decimal>> ToFunctionGenerator { get; set; }
+		}
+	}
 }
diff --git a/AppMeme/App.cs b/AppMeme/App.cs
index e85740a..8161727 100644
--- a/AppMeme/App.cs
+++ b/AppMeme/App.cs
@@ -1,25 +1,25 @@
 using System.Collections.Generic;
 using Base;
 
-namespace AppMeme{
-    public sealed class App : IApp{
-        private static readonly Dictionary<string, string> Map = new Dictionary<string, string>{
-            { "shrug", @"¯\_(ツ)_/¯" },
-            { "lenny", @"( ͡° ͜ʖ ͡°)" },
-            { "flip", @"(╯°□°)╯︵ ┻━┻" },
-            { "tableflip", @"(╯°□°)╯︵ ┻━┻" }
-        };
+namespace AppMeme {
+	public sealed class App : IApp {
+		private static readonly Dictionary<string, string> Map = new Dictionary<string, string> {
+			{ "shrug", @"¯\_(ツ)_/¯" },
+			{ "lenny", @"( ͡° ͜ʖ ͡°)" },
+			{ "flip", @"(╯°□°)╯︵ ┻━┻" },
+			{ "tableflip", @"(╯°□°)╯︵ ┻━┻" }
+		};
 
-        public string[] RecognizedNames => new string[]{
-            "meme"
-        };
-        
-        public MatchConfidence GetConfidence(Command cmd){
-            return Map.ContainsKey(cmd.Text) ? MatchConfidence.Full : MatchConfidence.None;
-        }
+		public string[] RecognizedNames => new string[] {
+			"meme"
+		};
 
-        public string ProcessCommand(Command cmd){
-            return Map[cmd.Text];
-        }
-    }
+		public MatchConfidence GetConfidence(Command cmd) {
+			return Map.ContainsKey(cmd.Text) ? MatchConfidence.Full : MatchConfidence.None;
+		}
+
+		public string ProcessCommand(Command cmd) {
+			return Map[cmd.Text];
+		}
+	}
 }
diff --git a/AppWindows/App.cs b/AppWindows/App.cs
index bd44abd..868939a 100644
--- a/AppWindows/App.cs
+++ b/AppWindows/App.cs
@@ -2,25 +2,25 @@
 using AppSys.Handlers;
 using Base;
 
-namespace AppSys{
-    public sealed class App : IApp{
-        private static readonly IHandler[] Handlers = {
-            new HandlerProcesses(),
-            new HandlerApps()
-        };
+namespace AppSys {
+	public sealed class App : IApp {
+		private static readonly IHandler[] Handlers = {
+			new HandlerProcesses(),
+			new HandlerApps()
+		};
 
-        public string[] RecognizedNames => new string[]{
-            "sys",
-            "os",
-            "win"
-        };
+		public string[] RecognizedNames => new string[] {
+			"sys",
+			"os",
+			"win"
+		};
 
-        public MatchConfidence GetConfidence(Command cmd){
-            return Handlers.Any(handler => handler.Matches(cmd)) ? MatchConfidence.Full : MatchConfidence.None;
-        }
+		public MatchConfidence GetConfidence(Command cmd) {
+			return Handlers.Any(handler => handler.Matches(cmd)) ? MatchConfidence.Full : MatchConfidence.None;
+		}
 
-        public string ProcessCommand(Command cmd){
-            return Handlers.First(handler => handler.Matches(cmd)).Handle(cmd);
-        }
-    }
+		public string ProcessCommand(Command cmd) {
+			return Handlers.First(handler => handler.Matches(cmd)).Handle(cmd);
+		}
+	}
 }
diff --git a/AppWindows/Handlers/HandlerApps.cs b/AppWindows/Handlers/HandlerApps.cs
index 7fcabba..393a5d9 100644
--- a/AppWindows/Handlers/HandlerApps.cs
+++ b/AppWindows/Handlers/HandlerApps.cs
@@ -5,54 +5,57 @@ using System.IO;
 using Base;
 
 namespace AppSys.Handlers {
-    internal class HandlerApps : IHandler{
-        private static readonly string PathSystem = Environment.GetFolderPath(Environment.SpecialFolder.System);
+	class HandlerApps : IHandler {
+		private static readonly string PathSystem = Environment.GetFolderPath(Environment.SpecialFolder.System);
 
-        private static readonly Dictionary<string, ProcessStartInfo> Mappings = new Dictionary<string, ProcessStartInfo>{
-            { "audio", new ProcessStartInfo{
-                FileName = Path.Combine(PathSystem, "control.exe"),
-                Arguments = "mmsys.cpl"
-            } },
+		private static readonly Dictionary<string, ProcessStartInfo> Mappings = new Dictionary<string, ProcessStartInfo> {
+			{
+				"audio", new ProcessStartInfo {
+					FileName = Path.Combine(PathSystem, "control.exe"),
+					Arguments = "mmsys.cpl"
+				}
+			}, {
+				"programs", new ProcessStartInfo {
+					FileName = Path.Combine(PathSystem, "control.exe"),
+					Arguments = "appwiz.cpl"
+				}
+			}, {
+				"system", new ProcessStartInfo {
+					FileName = Path.Combine(PathSystem, "control.exe"),
+					Arguments = "sysdm.cpl"
+				}
+			}, {
+				"environment", new ProcessStartInfo {
+					FileName = Path.Combine(PathSystem, "rundll32.exe"),
+					Arguments = "sysdm.cpl,EditEnvironmentVariables"
+				}
+			}
+		};
 
-            { "programs", new ProcessStartInfo{
-                FileName = Path.Combine(PathSystem, "control.exe"),
-                Arguments = "appwiz.cpl"
-            } },
+		private static readonly Dictionary<string, string> Substitutions = new Dictionary<string, string> {
+			{ "sounds", "audio" },
+			{ "apps", "programs" },
+			{ "appwiz", "programs" },
+			{ "env", "environment" },
+			{ "envvars", "environment" },
+			{ "vars", "environment" },
+			{ "variables", "environment" }
+		};
 
-            { "system", new ProcessStartInfo{
-                FileName = Path.Combine(PathSystem, "control.exe"),
-                Arguments = "sysdm.cpl"
-            } },
+		public bool Matches(Command cmd) {
+			return Mappings.ContainsKey(cmd.Text) || Substitutions.ContainsKey(cmd.Text);
+		}
 
-            { "environment", new ProcessStartInfo{
-                FileName = Path.Combine(PathSystem, "rundll32.exe"),
-                Arguments = "sysdm.cpl,EditEnvironmentVariables"
-            } }
-        };
+		public string Handle(Command cmd) {
+			string key;
 
-        private static readonly Dictionary<string, string> Substitutions = new Dictionary<string, string>{
-            { "sounds", "audio" },
-            { "apps", "programs" },
-            { "appwiz", "programs" },
-            { "env", "environment" },
-            { "envvars", "environment" },
-            { "vars", "environment" },
-            { "variables", "environment" }
-        };
+			if (!Substitutions.TryGetValue(cmd.Text, out key)) {
+				key = cmd.Text;
+			}
 
-        public bool Matches(Command cmd){
-            return Mappings.ContainsKey(cmd.Text) || Substitutions.ContainsKey(cmd.Text);
-        }
+			using (Process.Start(Mappings[key])) {}
 
-        public string Handle(Command cmd){
-            string key;
-
-            if (!Substitutions.TryGetValue(cmd.Text, out key)){
-                key = cmd.Text;
-            }
-
-            using(Process.Start(Mappings[key])){}
-            return null;
-        }
-    }
+			return null;
+		}
+	}
 }
diff --git a/AppWindows/Handlers/HandlerProcesses.cs b/AppWindows/Handlers/HandlerProcesses.cs
index 68ced96..9cb1ec2 100644
--- a/AppWindows/Handlers/HandlerProcesses.cs
+++ b/AppWindows/Handlers/HandlerProcesses.cs
@@ -3,47 +3,47 @@ using System.Diagnostics;
 using System.Text;
 using Base;
 
-namespace AppSys.Handlers{
-    internal class HandlerProcesses : IHandler{
-        public bool Matches(Command cmd){
-            return cmd.Text.StartsWith("kill ", StringComparison.InvariantCultureIgnoreCase);
-        }
+namespace AppSys.Handlers {
+	class HandlerProcesses : IHandler {
+		public bool Matches(Command cmd) {
+			return cmd.Text.StartsWith("kill ", StringComparison.InvariantCultureIgnoreCase);
+		}
 
-        public string Handle(Command cmd){
-            string[] processNames = cmd.Text.Substring("kill ".Length).Split(',', ';');
-            int succeeded = 0, failed = 0;
+		public string Handle(Command cmd) {
+			string[] processNames = cmd.Text.Substring("kill ".Length).Split(',', ';');
+			int succeeded = 0, failed = 0;
 
-            foreach(string processName in processNames){
-                try{
-                    Process[] processes = Process.GetProcessesByName(processName.EndsWith(".exe", StringComparison.InvariantCultureIgnoreCase) ? processName.Substring(0, processName.Length-4) : processName);
+			foreach (string processName in processNames) {
+				try {
+					Process[] processes = Process.GetProcessesByName(processName.EndsWith(".exe", StringComparison.InvariantCultureIgnoreCase) ? processName.Substring(0, processName.Length - 4) : processName);
 
-                    foreach(Process process in processes){
-                        try{
-                            process.Kill();
-                            ++succeeded;
-                        }catch{
-                            ++failed;
-                        }
+					foreach (Process process in processes) {
+						try {
+							process.Kill();
+							++succeeded;
+						} catch {
+							++failed;
+						}
 
-                        process.Close();
-                    }
-                }catch{
-                    ++failed;
-                }
-            }
+						process.Close();
+					}
+				} catch {
+					++failed;
+				}
+			}
 
-            if (succeeded == 0 && failed == 0 && (cmd.Text.Equals("kill me", StringComparison.InvariantCultureIgnoreCase) || cmd.Text.StartsWith("kill me ", StringComparison.InvariantCultureIgnoreCase) || cmd.Text.StartsWith("kill me,", StringComparison.InvariantCultureIgnoreCase))){
-                return "No.";
-            }
+			if (succeeded == 0 && failed == 0 && (cmd.Text.Equals("kill me", StringComparison.InvariantCultureIgnoreCase) || cmd.Text.StartsWith("kill me ", StringComparison.InvariantCultureIgnoreCase) || cmd.Text.StartsWith("kill me,", StringComparison.InvariantCultureIgnoreCase))) {
+				return "No.";
+			}
 
-            StringBuilder build = new StringBuilder();
-            build.Append("Killed ").Append(succeeded).Append(" process").Append(succeeded == 1 ? "" : "es");
+			var build = new StringBuilder();
+			build.Append("Killed ").Append(succeeded).Append(" process").Append(succeeded == 1 ? "" : "es");
 
-            if (failed > 0){
-                build.Append(", failed ").Append(failed);
-            }
+			if (failed > 0) {
+				build.Append(", failed ").Append(failed);
+			}
 
-            return build.Append('.').ToString();
-        }
-    }
+			return build.Append('.').ToString();
+		}
+	}
 }
diff --git a/AppWindows/IHandler.cs b/AppWindows/IHandler.cs
index f0f0710..9e83a0f 100644
--- a/AppWindows/IHandler.cs
+++ b/AppWindows/IHandler.cs
@@ -1,8 +1,8 @@
 using Base;
 
-namespace AppSys{
-    internal interface IHandler{
-        bool Matches(Command cmd);
-        string Handle(Command cmd);
-    }
+namespace AppSys {
+	interface IHandler {
+		bool Matches(Command cmd);
+		string Handle(Command cmd);
+	}
 }
diff --git a/Base/Command.cs b/Base/Command.cs
index d358b2b..e731b8b 100644
--- a/Base/Command.cs
+++ b/Base/Command.cs
@@ -2,43 +2,39 @@
 using System.Text.RegularExpressions;
 using Base.Utils;
 
-namespace Base{
-    public sealed class Command{
-        private static readonly Regex RegexBalancedBrackets = new Regex(RegexUtils.Balance(@"\[", @"\]"), RegexOptions.Compiled);
-        private static readonly Regex RegexBalancedParentheses = new Regex(RegexUtils.Balance(@"\(", @"\)"), RegexOptions.Compiled);
+namespace Base {
+	public sealed class Command {
+		private static readonly Regex RegexBalancedBrackets = new Regex(RegexUtils.Balance(@"\[", @"\]"), RegexOptions.Compiled);
+		private static readonly Regex RegexBalancedParentheses = new Regex(RegexUtils.Balance(@"\(", @"\)"), RegexOptions.Compiled);
 
-        public string Text { get; private set; }
+		public string Text { get; private set; }
 
-        public string PotentialAppName{
-            get{
-               int firstSpace = Text.IndexOf(' ');
+		public string PotentialAppName {
+			get {
+				int firstSpace = Text.IndexOf(' ');
 
-                if (firstSpace == -1){
-                    return null;
-                }
+				if (firstSpace == -1) {
+					return null;
+				}
 
-                string firstToken = Text.Substring(0, firstSpace);
+				string firstToken = Text.Substring(0, firstSpace);
 
-                if (!firstToken.All(char.IsLetter)){
-                    return null;
-                }
+				if (!firstToken.All(char.IsLetter)) {
+					return null;
+				}
 
-                return firstToken;
-            }
-        }
+				return firstToken;
+			}
+		}
 
-        public bool IsSingleToken{
-            get{
-                return Text.IndexOf(' ') == -1;
-            }
-        }
+		public bool IsSingleToken => Text.IndexOf(' ') == -1;
 
-        public Command(string text){
-            this.Text = text;
-        }
+		public Command(string text) {
+			Text = text;
+		}
 
-        public Command ReplaceBrackets(MatchEvaluator evaluator){
-            return new Command(RegexBalancedParentheses.Replace(RegexBalancedBrackets.Replace(Text, evaluator), evaluator));
-        }
-    }
+		public Command ReplaceBrackets(MatchEvaluator evaluator) {
+			return new Command(RegexBalancedParentheses.Replace(RegexBalancedBrackets.Replace(Text, evaluator), evaluator));
+		}
+	}
 }
diff --git a/Base/CommandEventArgs.cs b/Base/CommandEventArgs.cs
index 8afae24..484234c 100644
--- a/Base/CommandEventArgs.cs
+++ b/Base/CommandEventArgs.cs
@@ -1,11 +1,11 @@
 using System;
 
-namespace Base{
-    public class CommandEventArgs : EventArgs{
-        public Command Command { get; private set; }
+namespace Base {
+	public class CommandEventArgs : EventArgs {
+		public Command Command { get; private set; }
 
-        public CommandEventArgs(string text){
-            this.Command = new Command(text);
-        }
-    }
+		public CommandEventArgs(string text) {
+			Command = new Command(text);
+		}
+	}
 }
diff --git a/Base/CommandException.cs b/Base/CommandException.cs
index 58aa207..a8491cb 100644
--- a/Base/CommandException.cs
+++ b/Base/CommandException.cs
@@ -1,8 +1,8 @@
 using System;
 
-namespace Base{
-    public class CommandException : Exception{
-        public CommandException(string message) : base(message){}
-        public CommandException(string message, Exception innerException) : base(message,innerException){}
-    }
+namespace Base {
+	public class CommandException : Exception {
+		public CommandException(string message) : base(message) {}
+		public CommandException(string message, Exception innerException) : base(message, innerException) {}
+	}
 }
diff --git a/Base/IApp.cs b/Base/IApp.cs
index 57a8a50..c7b60a9 100644
--- a/Base/IApp.cs
+++ b/Base/IApp.cs
@@ -1,8 +1,8 @@
-namespace Base{
-    public interface IApp{
-        string[] RecognizedNames { get; }
+namespace Base {
+	public interface IApp {
+		string[] RecognizedNames { get; }
 
-        MatchConfidence GetConfidence(Command cmd);
-        string ProcessCommand(Command cmd);
-    }
+		MatchConfidence GetConfidence(Command cmd);
+		string ProcessCommand(Command cmd);
+	}
 }
diff --git a/Base/MatchConfidence.cs b/Base/MatchConfidence.cs
index 82b53e3..1439df0 100644
--- a/Base/MatchConfidence.cs
+++ b/Base/MatchConfidence.cs
@@ -1,8 +1,8 @@
-namespace Base{
-    public enum MatchConfidence{
-        None = 0,
-        Low = 1,
-        Possible = 2,
-        Full = 3
-    }
+namespace Base {
+	public enum MatchConfidence {
+		None = 0,
+		Low = 1,
+		Possible = 2,
+		Full = 3
+	}
 }
diff --git a/Base/Utils/RegexUtils.cs b/Base/Utils/RegexUtils.cs
index d02b754..2a4f65c 100644
--- a/Base/Utils/RegexUtils.cs
+++ b/Base/Utils/RegexUtils.cs
@@ -1,23 +1,23 @@
 using System.Text;
 using System.Text.RegularExpressions;
 
-namespace Base.Utils{
-    public static class RegexUtils{
-        public static readonly RegexOptions Text = RegexOptions.CultureInvariant | RegexOptions.IgnoreCase | RegexOptions.ExplicitCapture | RegexOptions.Compiled;
+namespace Base.Utils {
+	public static class RegexUtils {
+		public static readonly RegexOptions Text = RegexOptions.CultureInvariant | RegexOptions.IgnoreCase | RegexOptions.ExplicitCapture | RegexOptions.Compiled;
 
-        public static string Balance(string escapedStart, string escapedEnd){ // \(((?>[^()]+|\((?<n>)|\)(?<-n>))+(?(n)(?!)))\)
-            return new StringBuilder()
-                .Append(escapedStart)
-                .Append(@"((?>[^")
-                .Append(escapedStart)
-                .Append(escapedEnd)
-                .Append(@"]+|")
-                .Append(escapedStart)
-                .Append(@"(?<n>)|")
-                .Append(escapedEnd)
-                .Append(@"(?<-n>))+(?(n)(?!)))")
-                .Append(escapedEnd)
-                .ToString();
-        }
-    }
+		public static string Balance(string escapedStart, string escapedEnd) { // \(((?>[^()]+|\((?<n>)|\)(?<-n>))+(?(n)(?!)))\)
+			return new StringBuilder()
+			       .Append(escapedStart)
+			       .Append(@"((?>[^")
+			       .Append(escapedStart)
+			       .Append(escapedEnd)
+			       .Append(@"]+|")
+			       .Append(escapedStart)
+			       .Append(@"(?<n>)|")
+			       .Append(escapedEnd)
+			       .Append(@"(?<-n>))+(?(n)(?!)))")
+			       .Append(escapedEnd)
+			       .ToString();
+		}
+	}
 }
diff --git a/Query/Controls/QueryHistoryLog.cs b/Query/Controls/QueryHistoryLog.cs
index 2859b71..97e5adc 100644
--- a/Query/Controls/QueryHistoryLog.cs
+++ b/Query/Controls/QueryHistoryLog.cs
@@ -2,42 +2,45 @@
 using System.Drawing;
 using System.Windows.Forms;
 
-namespace Query.Controls{
-    sealed partial class QueryHistoryLog : UserControl{
-        public enum EntryType{
-            UserInput, CommandResult, Information, Error
-        }
+namespace Query.Controls {
+	sealed partial class QueryHistoryLog : UserControl {
+		public enum EntryType {
+			UserInput,
+			CommandResult,
+			Information,
+			Error
+		}
 
-        private static readonly Dictionary<EntryType, Color> EntryColorMap = new Dictionary<EntryType, Color>{
-            { EntryType.UserInput, Color.FromArgb(160, 160, 160) },
-            { EntryType.CommandResult, Color.FromArgb(240, 240, 240) },
-            { EntryType.Information, Color.FromArgb(160, 255, 140) },
-            { EntryType.Error, Color.FromArgb(255, 40, 40) }
-        };
+		private static readonly Dictionary<EntryType, Color> EntryColorMap = new Dictionary<EntryType, Color> {
+			{ EntryType.UserInput, Color.FromArgb(160, 160, 160) },
+			{ EntryType.CommandResult, Color.FromArgb(240, 240, 240) },
+			{ EntryType.Information, Color.FromArgb(160, 255, 140) },
+			{ EntryType.Error, Color.FromArgb(255, 40, 40) }
+		};
 
-        public QueryHistoryLog(){
-            InitializeComponent();
-        }
+		public QueryHistoryLog() {
+			InitializeComponent();
+		}
 
-        public void AddEntry(string text, EntryType type){
-            int width = container.Width-SystemInformation.VerticalScrollBarWidth;
+		public void AddEntry(string text, EntryType type) {
+			int width = container.Width - SystemInformation.VerticalScrollBarWidth;
 
-            Label label = new Label{
-                AutoSize = true,
-                Font = container.Font,
-                ForeColor = EntryColorMap[type],
-                Text = text,
-                Margin = new Padding(0,1,0,1),
-                MaximumSize = new Size(width, 0),
-                Width = width
-            };
+			Label label = new Label {
+				AutoSize = true,
+				Font = container.Font,
+				ForeColor = EntryColorMap[type],
+				Text = text,
+				Margin = new Padding(0, 1, 0, 1),
+				MaximumSize = new Size(width, 0),
+				Width = width
+			};
 
-            container.Controls.Add(label);
-            container.AutoScrollPosition = new Point(0, container.VerticalScroll.Maximum);
-        }
+			container.Controls.Add(label);
+			container.AutoScrollPosition = new Point(0, container.VerticalScroll.Maximum);
+		}
 
-        public void ClearEntries(){
-            container.Controls.Clear();
-        }
-    }
+		public void ClearEntries() {
+			container.Controls.Clear();
+		}
+	}
 }
diff --git a/Query/Controls/QueryTextBox.cs b/Query/Controls/QueryTextBox.cs
index 38a2013..6abcff1 100644
--- a/Query/Controls/QueryTextBox.cs
+++ b/Query/Controls/QueryTextBox.cs
@@ -5,154 +5,154 @@ using System.Windows.Forms;
 using Base;
 using Query.Core;
 
-namespace Query.Controls{
-    sealed partial class QueryTextBox : UserControl{
-        public event EventHandler<CommandEventArgs> CommandRan;
+namespace Query.Controls {
+	sealed partial class QueryTextBox : UserControl {
+		public event EventHandler<CommandEventArgs> CommandRan;
 
-        private CommandHistory history;
-        private Action<string> log;
+		private CommandHistory history;
+		private Action<string> log;
 
-        public QueryTextBox(){
-            InitializeComponent();
-        }
+		public QueryTextBox() {
+			InitializeComponent();
+		}
 
-        public void Setup(CommandHistory historyObj, Action<string> logFunc){
-            this.history = historyObj;
-            this.log = logFunc;
-        }
+		public void Setup(CommandHistory historyObj, Action<string> logFunc) {
+			history = historyObj;
+			log = logFunc;
+		}
 
-        private void OnCommandRan(){
-            CommandRan?.Invoke(this, new CommandEventArgs(tb.Text));
-        }
+		private void OnCommandRan() {
+			CommandRan?.Invoke(this, new CommandEventArgs(tb.Text));
+		}
 
-        private sealed class CustomTextBox : TextBox{
-            private string lastInputStr = string.Empty;
-            private int lastInputPos = 0;
-            
-            private bool doResetHistoryMemory;
-            private bool lastArrowShift;
-            private int historyOffset;
+		private sealed class CustomTextBox : TextBox {
+			private string lastInputStr = string.Empty;
+			private int lastInputPos = 0;
 
-            public CustomTextBox(){
-                TextChanged += CustomTextBox_TextChanged;
-            }
+			private bool doResetHistoryMemory;
+			private bool lastArrowShift;
+			private int historyOffset;
 
-            protected override void OnKeyDown(KeyEventArgs e){
-                QueryTextBox input = (QueryTextBox)Parent;
-                CommandHistory history = input.history;
+			public CustomTextBox() {
+				TextChanged += CustomTextBox_TextChanged;
+			}
 
-                Keys key = e.KeyCode;
-                bool handled = false;
+			protected override void OnKeyDown(KeyEventArgs e) {
+				QueryTextBox input = (QueryTextBox) Parent;
+				CommandHistory history = input.history;
 
-                switch(key){
-                    case Keys.Enter:
-                        if (Text != string.Empty){
-                            input.OnCommandRan();
+				Keys key = e.KeyCode;
+				bool handled = false;
 
-                            Text = string.Empty;
-                            doResetHistoryMemory = true;
-                            handled = true;
-                        }
+				switch (key) {
+					case Keys.Enter:
+						if (Text != string.Empty) {
+							input.OnCommandRan();
 
-                        break;
+							Text = string.Empty;
+							doResetHistoryMemory = true;
+							handled = true;
+						}
 
-                    case Keys.Up:
-                        if (lastArrowShift != e.Shift){
-                            lastArrowShift = e.Shift;
-                            historyOffset = 0;
-                        }
-                        
-                        --historyOffset;
-                        
-                        if (InsertFromHistory(e.Shift ? history.Results : history.Queries)){
-                            ++historyOffset;
-                        }
+						break;
 
-                        handled = true;
-                        break;
+					case Keys.Up:
+						if (lastArrowShift != e.Shift) {
+							lastArrowShift = e.Shift;
+							historyOffset = 0;
+						}
 
-                    case Keys.Down:
-                        if (lastArrowShift != e.Shift){
-                            lastArrowShift = e.Shift;
-                            historyOffset = 0;
-                        }
+						--historyOffset;
 
-                        ++historyOffset;
-                        
-                        if (InsertFromHistory(e.Shift ? history.Results : history.Queries)){
-                            --historyOffset;
-                        }
+						if (InsertFromHistory(e.Shift ? history.Results : history.Queries)) {
+							++historyOffset;
+						}
 
-                        handled = true;
-                        break;
+						handled = true;
+						break;
 
-                    case Keys.C:
-                        if (e.Modifiers == Keys.Control){
-                            if (SelectionLength == 0 && history.Results.Count > 0){
-                                Clipboard.SetText(history.Results.Last(), TextDataFormat.UnicodeText);
-                                input.log("Copied to clipboard.");
-                                handled = true;
-                            }
-                        }
+					case Keys.Down:
+						if (lastArrowShift != e.Shift) {
+							lastArrowShift = e.Shift;
+							historyOffset = 0;
+						}
 
-                        break;
-                }
-                
-                if (!handled && key != Keys.ControlKey && key != Keys.ShiftKey && key != Keys.Menu){
-                    doResetHistoryMemory = true;
-                }
-                
-                e.Handled = e.SuppressKeyPress = handled;
-                base.OnKeyDown(e);
-            }
+						++historyOffset;
 
-            protected override void OnKeyUp(KeyEventArgs e){
-                base.OnKeyUp(e);
+						if (InsertFromHistory(e.Shift ? history.Results : history.Queries)) {
+							--historyOffset;
+						}
 
-                if (doResetHistoryMemory){
-                    doResetHistoryMemory = false;
-                    ResetHistoryMemory();
-                }
-            }
+						handled = true;
+						break;
 
-            private void CustomTextBox_TextChanged(object sender, EventArgs e){
-                ResetHistoryMemory();
-            }
+					case Keys.C:
+						if (e.Modifiers == Keys.Control) {
+							if (SelectionLength == 0 && history.Results.Count > 0) {
+								Clipboard.SetText(history.Results.Last(), TextDataFormat.UnicodeText);
+								input.log("Copied to clipboard.");
+								handled = true;
+							}
+						}
 
-            // Management
+						break;
+				}
 
-            private void ResetHistoryMemory(){
-                lastInputStr = Text;
-                lastInputPos = SelectionStart;
-                historyOffset = 0;
-            }
+				if (!handled && key != Keys.ControlKey && key != Keys.ShiftKey && key != Keys.Menu) {
+					doResetHistoryMemory = true;
+				}
 
-            private bool InsertFromHistory(IList<string> collection){
-                if (collection.Count == 0){
-                    return true;
-                }
-                
-                int index = collection.Count + historyOffset;
-                bool wasClamped = false;
+				e.Handled = e.SuppressKeyPress = handled;
+				base.OnKeyDown(e);
+			}
 
-                if (index < 0){
-                    index = 0;
-                    wasClamped = true;
-                }
-                else if (index >= collection.Count){
-                    index = collection.Count - 1;
-                    wasClamped = true;
-                }
-                
-                TextChanged -= CustomTextBox_TextChanged;
+			protected override void OnKeyUp(KeyEventArgs e) {
+				base.OnKeyUp(e);
 
-                Text = lastInputStr.Insert(lastInputPos, collection[index]);
-                SelectionStart = lastInputPos + collection[index].Length;
-                SelectionLength = 0;
+				if (doResetHistoryMemory) {
+					doResetHistoryMemory = false;
+					ResetHistoryMemory();
+				}
+			}
 
-                TextChanged += CustomTextBox_TextChanged;
-                return wasClamped;
-            }
-        }
-    }
+			private void CustomTextBox_TextChanged(object sender, EventArgs e) {
+				ResetHistoryMemory();
+			}
+
+			// Management
+
+			private void ResetHistoryMemory() {
+				lastInputStr = Text;
+				lastInputPos = SelectionStart;
+				historyOffset = 0;
+			}
+
+			private bool InsertFromHistory(IList<string> collection) {
+				if (collection.Count == 0) {
+					return true;
+				}
+
+				int index = collection.Count + historyOffset;
+				bool wasClamped = false;
+
+				if (index < 0) {
+					index = 0;
+					wasClamped = true;
+				}
+				else if (index >= collection.Count) {
+					index = collection.Count - 1;
+					wasClamped = true;
+				}
+
+				TextChanged -= CustomTextBox_TextChanged;
+
+				Text = lastInputStr.Insert(lastInputPos, collection[index]);
+				SelectionStart = lastInputPos + collection[index].Length;
+				SelectionLength = 0;
+
+				TextChanged += CustomTextBox_TextChanged;
+				return wasClamped;
+			}
+		}
+	}
 }
diff --git a/Query/Core/CommandHistory.cs b/Query/Core/CommandHistory.cs
index e715949..0592f1b 100644
--- a/Query/Core/CommandHistory.cs
+++ b/Query/Core/CommandHistory.cs
@@ -1,33 +1,25 @@
 using System.Collections.Generic;
 
-namespace Query.Core{
-    sealed class CommandHistory{
-        private readonly List<string> queries = new List<string>();
-        private readonly List<string> results = new List<string>();
+namespace Query.Core {
+	sealed class CommandHistory {
+		private readonly List<string> queries = new List<string>();
+		private readonly List<string> results = new List<string>();
 
-        public IList<string> Queries{
-            get{
-                return queries;
-            }
-        }
+		public IList<string> Queries => queries;
 
-        public IList<string> Results{
-            get{
-                return results;
-            }
-        }
+		public IList<string> Results => results;
 
-        public void AddQuery(string text){
-            queries.Add(text);
-        }
+		public void AddQuery(string text) {
+			queries.Add(text);
+		}
 
-        public void AddResult(string text){
-            results.Add(text);
-        }
+		public void AddResult(string text) {
+			results.Add(text);
+		}
 
-        public void Clear(){
-            queries.Clear();
-            results.Clear();
-        }
-    }
+		public void Clear() {
+			queries.Clear();
+			results.Clear();
+		}
+	}
 }
diff --git a/Query/Core/CommandProcessor.cs b/Query/Core/CommandProcessor.cs
index 2c1b912..ccaac86 100644
--- a/Query/Core/CommandProcessor.cs
+++ b/Query/Core/CommandProcessor.cs
@@ -3,63 +3,63 @@ using System.Collections.Generic;
 using System.Linq;
 using Base;
 
-namespace Query.Core{
-    sealed class CommandProcessor{
-        private readonly Dictionary<string, IApp> appNames = new Dictionary<string, IApp>(8);
-        private readonly HashSet<IApp> appSet = new HashSet<IApp>();
-        
-        public Func<string, bool> SingleTokenProcessor { get; set; }
+namespace Query.Core {
+	sealed class CommandProcessor {
+		private readonly Dictionary<string, IApp> appNames = new Dictionary<string, IApp>(8);
+		private readonly HashSet<IApp> appSet = new HashSet<IApp>();
 
-        public void AddApp<T>() where T : IApp, new(){
-            IApp app = new T();
+		public Func<string, bool> SingleTokenProcessor { get; set; }
 
-            foreach(string name in app.RecognizedNames){
-                appNames.Add(name, app);
-                appSet.Add(app);
-            }
-        }
+		public void AddApp<T>() where T : IApp, new() {
+			IApp app = new T();
 
-        public string Run(Command cmd){
-            cmd = cmd.ReplaceBrackets(match => Run(new Command(match.Groups[1].Value)));
+			foreach (string name in app.RecognizedNames) {
+				appNames.Add(name, app);
+				appSet.Add(app);
+			}
+		}
 
-            string appName = cmd.PotentialAppName;
-            IApp app;
-            
-            if (appName != null && appNames.TryGetValue(appName.ToLowerInvariant(), out app)){
-                return app.ProcessCommand(new Command(cmd.Text.Substring(appName.Length+1)));
-            }
+		public string Run(Command cmd) {
+			cmd = cmd.ReplaceBrackets(match => Run(new Command(match.Groups[1].Value)));
 
-            if (cmd.IsSingleToken && SingleTokenProcessor != null && SingleTokenProcessor(cmd.Text)){
-                return null;
-            }
+			string appName = cmd.PotentialAppName;
+			IApp app;
 
-            var list = appSet.Select(iapp => new { App = iapp, Confidence = iapp.GetConfidence(cmd) }).OrderByDescending(obj => obj.Confidence).Where(obj => obj.Confidence != MatchConfidence.None).ToList();
+			if (appName != null && appNames.TryGetValue(appName.ToLowerInvariant(), out app)) {
+				return app.ProcessCommand(new Command(cmd.Text.Substring(appName.Length + 1)));
+			}
 
-            if (list.Count == 0){
-                throw new CommandException("Could not find any suitable app, please write the app name and press Up Arrow.");
-            }
-            else if (list.Count == 1){
-                app = list[0].App;
-            }
-            else{
-                List<IApp> plausible = new List<IApp>{ list[0].App };
-                MatchConfidence topConfidence = list[0].Confidence;
+			if (cmd.IsSingleToken && SingleTokenProcessor != null && SingleTokenProcessor(cmd.Text)) {
+				return null;
+			}
 
-                for(int index = 1; index < list.Count; index++){
-                    if (list[index].Confidence == topConfidence){
-                        plausible.Add(list[index].App);
-                    }
-                }
+			var list = appSet.Select(iapp => new { App = iapp, Confidence = iapp.GetConfidence(cmd) }).OrderByDescending(obj => obj.Confidence).Where(obj => obj.Confidence != MatchConfidence.None).ToList();
 
-                if (plausible.Count == 1){
-                    app = plausible.First();
-                }
-                else{
-                    throw new CommandException("Command is ambiguous, please write the app name and press Up Arrow. Suggested apps: "+string.Join(", ",plausible.Select(iapp => iapp.RecognizedNames.First())));
-                }
-            }
+			if (list.Count == 0) {
+				throw new CommandException("Could not find any suitable app, please write the app name and press Up Arrow.");
+			}
+			else if (list.Count == 1) {
+				app = list[0].App;
+			}
+			else {
+				List<IApp> plausible = new List<IApp> { list[0].App };
+				MatchConfidence topConfidence = list[0].Confidence;
 
-            return app.ProcessCommand(cmd);
-        }
-    }
+				for (int index = 1; index < list.Count; index++) {
+					if (list[index].Confidence == topConfidence) {
+						plausible.Add(list[index].App);
+					}
+				}
+
+				if (plausible.Count == 1) {
+					app = plausible.First();
+				}
+				else {
+					throw new CommandException("Command is ambiguous, please write the app name and press Up Arrow. Suggested apps: " + string.Join(", ", plausible.Select(iapp => iapp.RecognizedNames.First())));
+				}
+			}
+
+			return app.ProcessCommand(cmd);
+		}
+	}
 }
diff --git a/Query/Core/KeyboardHook.cs b/Query/Core/KeyboardHook.cs
index c282263..44c6189 100644
--- a/Query/Core/KeyboardHook.cs
+++ b/Query/Core/KeyboardHook.cs
@@ -2,63 +2,63 @@
 using System.Runtime.InteropServices;
 using System.Windows.Forms;
 
-namespace Query.Core{
-    sealed class KeyboardHook{
-        public event EventHandler Triggered;
-        
-        // ReSharper disable once PrivateFieldCanBeConvertedToLocalVariable
-        private readonly NativeMethods.HookProc keyboardHookDelegate;
-        private IntPtr keyboardHook;
-        
-        public KeyboardHook(){
-            keyboardHookDelegate = KeyboardHookProc;
-        }
+namespace Query.Core {
+	sealed class KeyboardHook {
+		public event EventHandler Triggered;
 
-        public void StartHook(){
-            if (keyboardHook != IntPtr.Zero){
-                NativeMethods.UnhookWindowsHookEx(keyboardHook);
-            }
+		// ReSharper disable once PrivateFieldCanBeConvertedToLocalVariable
+		private readonly NativeMethods.HookProc keyboardHookDelegate;
+		private IntPtr keyboardHook;
 
-            keyboardHook = NativeMethods.SetWindowsHookEx(NativeMethods.WH_KEYBOARD_LL, keyboardHookDelegate, IntPtr.Zero, 0);
-        }
+		public KeyboardHook() {
+			keyboardHookDelegate = KeyboardHookProc;
+		}
 
-        public void StopHook(){
-            if (keyboardHook != IntPtr.Zero){
-                NativeMethods.UnhookWindowsHookEx(keyboardHook);
-                keyboardHook = IntPtr.Zero;
-            }
-        }
+		public void StartHook() {
+			if (keyboardHook != IntPtr.Zero) {
+				NativeMethods.UnhookWindowsHookEx(keyboardHook);
+			}
 
-        private IntPtr KeyboardHookProc(int nCode, IntPtr wParam, IntPtr lParam){
-            if (wParam == (IntPtr)NativeMethods.WM_KEYDOWN){
-                Keys key = (Keys)Marshal.ReadInt32(lParam);
+			keyboardHook = NativeMethods.SetWindowsHookEx(NativeMethods.WH_KEYBOARD_LL, keyboardHookDelegate, IntPtr.Zero, 0);
+		}
 
-                if ((key == Keys.LWin || key == Keys.RWin) && Control.ModifierKeys.HasFlag(Keys.Control)){
-                    Triggered?.Invoke(this, EventArgs.Empty);
-                    return NativeMethods.HookHandled;
-                }
-            }
+		public void StopHook() {
+			if (keyboardHook != IntPtr.Zero) {
+				NativeMethods.UnhookWindowsHookEx(keyboardHook);
+				keyboardHook = IntPtr.Zero;
+			}
+		}
 
-            return NativeMethods.CallNextHookEx(keyboardHook, nCode, wParam, lParam);
-        }
+		private IntPtr KeyboardHookProc(int nCode, IntPtr wParam, IntPtr lParam) {
+			if (wParam == (IntPtr) NativeMethods.WM_KEYDOWN) {
+				Keys key = (Keys) Marshal.ReadInt32(lParam);
 
-        private static class NativeMethods{
-            public const int WH_KEYBOARD_LL = 13;
-            public const int WM_KEYDOWN = 0x0100;
-            public const int WM_KEYUP = 0x0101;
+				if ((key == Keys.LWin || key == Keys.RWin) && Control.ModifierKeys.HasFlag(Keys.Control)) {
+					Triggered?.Invoke(this, EventArgs.Empty);
+					return NativeMethods.HookHandled;
+				}
+			}
 
-            public static readonly IntPtr HookHandled = new IntPtr(-1);
+			return NativeMethods.CallNextHookEx(keyboardHook, nCode, wParam, lParam);
+		}
 
-            public delegate IntPtr HookProc(int nCode, IntPtr wParam, IntPtr lParam);
+		private static class NativeMethods {
+			public const int WH_KEYBOARD_LL = 13;
+			public const int WM_KEYDOWN = 0x0100;
+			public const int WM_KEYUP = 0x0101;
 
-            [DllImport("user32.dll")]
-            public static extern IntPtr SetWindowsHookEx(int idHook, HookProc lpfn, IntPtr hInstance, int threadId);
+			public static readonly IntPtr HookHandled = new IntPtr(-1);
 
-            [DllImport("user32.dll")]
-            public static extern bool UnhookWindowsHookEx(IntPtr idHook);
+			public delegate IntPtr HookProc(int nCode, IntPtr wParam, IntPtr lParam);
 
-            [DllImport("user32.dll")]
-            public static extern IntPtr CallNextHookEx(IntPtr idHook, int nCode, IntPtr wParam, IntPtr lParam);
-        }
-    }
+			[DllImport("user32.dll")]
+			public static extern IntPtr SetWindowsHookEx(int idHook, HookProc lpfn, IntPtr hInstance, int threadId);
+
+			[DllImport("user32.dll")]
+			public static extern bool UnhookWindowsHookEx(IntPtr idHook);
+
+			[DllImport("user32.dll")]
+			public static extern IntPtr CallNextHookEx(IntPtr idHook, int nCode, IntPtr wParam, IntPtr lParam);
+		}
+	}
 }
diff --git a/Query/MainForm.cs b/Query/MainForm.cs
index 60c7c1d..e30fc8f 100644
--- a/Query/MainForm.cs
+++ b/Query/MainForm.cs
@@ -5,142 +5,142 @@ using Base;
 using Query.Controls;
 using Query.Core;
 
-namespace Query{
-    partial class MainForm : Form{
-        private readonly CommandProcessor processor;
-        private readonly CommandHistory history;
+namespace Query {
+	partial class MainForm : Form {
+		private readonly CommandProcessor processor;
+		private readonly CommandHistory history;
 
-        private readonly Timer focusTimer;
-        private readonly KeyboardHook keyboardHook;
+		private readonly Timer focusTimer;
+		private readonly KeyboardHook keyboardHook;
 
-        private bool isLoaded;
+		private bool isLoaded;
 
-        public MainForm(){
-            InitializeComponent();
+		public MainForm() {
+			InitializeComponent();
 
-            processor = new CommandProcessor{
-                SingleTokenProcessor = ProcessSingleToken
-            };
+			processor = new CommandProcessor {
+				SingleTokenProcessor = ProcessSingleToken
+			};
 
-            processor.AddApp<AppCalc.App>();
-            processor.AddApp<AppConv.App>();
-            processor.AddApp<AppMeme.App>();
-            processor.AddApp<AppSys.App>();
+			processor.AddApp<AppCalc.App>();
+			processor.AddApp<AppConv.App>();
+			processor.AddApp<AppMeme.App>();
+			processor.AddApp<AppSys.App>();
 
-            history = new CommandHistory();
-            queryBox.Setup(history, str => queryLog.AddEntry(str, QueryHistoryLog.EntryType.Information));
+			history = new CommandHistory();
+			queryBox.Setup(history, str => queryLog.AddEntry(str, QueryHistoryLog.EntryType.Information));
 
-            keyboardHook = new KeyboardHook();
-            keyboardHook.Triggered += keyboardHook_Triggered;
+			keyboardHook = new KeyboardHook();
+			keyboardHook.Triggered += keyboardHook_Triggered;
 
-            focusTimer = new Timer{
-                Interval = 1
-            };
+			focusTimer = new Timer {
+				Interval = 1
+			};
 
-            focusTimer.Tick += focusTimer_Tick;
+			focusTimer.Tick += focusTimer_Tick;
 
-            Disposed += MainForm_Disposed;
-            queryBox.CommandRan += queryBox_CommandRan;
-        }
+			Disposed += MainForm_Disposed;
+			queryBox.CommandRan += queryBox_CommandRan;
+		}
 
-        private void SetShown(bool show){
-            if (show){
-                focusTimer.Start();
-            }
-            else{
-                Hide();
-            }
-        }
+		private void SetShown(bool show) {
+			if (show) {
+				focusTimer.Start();
+			}
+			else {
+				Hide();
+			}
+		}
 
-        private void MainForm_Shown(object sender, EventArgs e){
-            Rectangle screenRect = Screen.PrimaryScreen.WorkingArea;
-            Location = new Point(screenRect.X + screenRect.Width - Width, screenRect.Y + screenRect.Height - Height);
+		private void MainForm_Shown(object sender, EventArgs e) {
+			Rectangle screenRect = Screen.PrimaryScreen.WorkingArea;
+			Location = new Point(screenRect.X + screenRect.Width - Width, screenRect.Y + screenRect.Height - Height);
 
-            if (!isLoaded){
-                isLoaded = true;
-                keyboardHook.StartHook();
-            }
-        }
+			if (!isLoaded) {
+				isLoaded = true;
+				keyboardHook.StartHook();
+			}
+		}
 
-        private void MainForm_Deactivate(object sender, EventArgs e){
-            SetShown(false);
-        }
+		private void MainForm_Deactivate(object sender, EventArgs e) {
+			SetShown(false);
+		}
 
-        private void MainForm_Disposed(object sender, EventArgs e){
-            keyboardHook.StopHook();
-        }
+		private void MainForm_Disposed(object sender, EventArgs e) {
+			keyboardHook.StopHook();
+		}
 
-        private void trayIcon_Click(object sender, EventArgs e){
-            if (((MouseEventArgs)e).Button == MouseButtons.Left){
-                SetShown(true);
-            }
-        }
+		private void trayIcon_Click(object sender, EventArgs e) {
+			if (((MouseEventArgs) e).Button == MouseButtons.Left) {
+				SetShown(true);
+			}
+		}
 
-        private void showToolStripMenuItem_Click(object sender, EventArgs e){
-            SetShown(true);
-        }
+		private void showToolStripMenuItem_Click(object sender, EventArgs e) {
+			SetShown(true);
+		}
 
-        private void hookToolStripMenuItem_Click(object sender, EventArgs e){
-            keyboardHook.StopHook();
-            keyboardHook.StartHook();
-        }
+		private void hookToolStripMenuItem_Click(object sender, EventArgs e) {
+			keyboardHook.StopHook();
+			keyboardHook.StartHook();
+		}
 
-        private void exitToolStripMenuItem_Click(object sender, EventArgs e){
-            Application.Exit();
-        }
+		private void exitToolStripMenuItem_Click(object sender, EventArgs e) {
+			Application.Exit();
+		}
 
-        private void keyboardHook_Triggered(object sender, EventArgs e){
-            SetShown(!Visible);
-        }
+		private void keyboardHook_Triggered(object sender, EventArgs e) {
+			SetShown(!Visible);
+		}
 
-        private void focusTimer_Tick(object sender, EventArgs e){
-            WindowState = FormWindowState.Minimized;
-            Show();
-            Activate();
-            WindowState = FormWindowState.Normal;
+		private void focusTimer_Tick(object sender, EventArgs e) {
+			WindowState = FormWindowState.Minimized;
+			Show();
+			Activate();
+			WindowState = FormWindowState.Normal;
 
-            queryBox.Focus();
-            focusTimer.Stop();
-        }
+			queryBox.Focus();
+			focusTimer.Stop();
+		}
 
-        private void queryBox_CommandRan(object sender, CommandEventArgs e){
-            try{
-                string result = processor.Run(e.Command);
-                
-                if (result != null){
-                    queryLog.AddEntry("> "+e.Command.Text, QueryHistoryLog.EntryType.UserInput);
-                    history.AddQuery(e.Command.Text);
+		private void queryBox_CommandRan(object sender, CommandEventArgs e) {
+			try {
+				string result = processor.Run(e.Command);
 
-                    queryLog.AddEntry(result, QueryHistoryLog.EntryType.CommandResult);
-                    history.AddResult(result);
-                }
-            }catch(CommandException ex){
-                queryLog.AddEntry("> "+e.Command.Text, QueryHistoryLog.EntryType.UserInput);
-                history.AddQuery(e.Command.Text);
+				if (result != null) {
+					queryLog.AddEntry("> " + e.Command.Text, QueryHistoryLog.EntryType.UserInput);
+					history.AddQuery(e.Command.Text);
 
-                queryLog.AddEntry(ex.Message, QueryHistoryLog.EntryType.Error);
-            }
-        }
+					queryLog.AddEntry(result, QueryHistoryLog.EntryType.CommandResult);
+					history.AddResult(result);
+				}
+			} catch (CommandException ex) {
+				queryLog.AddEntry("> " + e.Command.Text, QueryHistoryLog.EntryType.UserInput);
+				history.AddQuery(e.Command.Text);
 
-        private bool ProcessSingleToken(string token){
-            switch(token){
-                case "exit":
-                case "quit":
-                    Application.Exit();
-                    return true;
+				queryLog.AddEntry(ex.Message, QueryHistoryLog.EntryType.Error);
+			}
+		}
 
-                case "clear":
-                    queryLog.ClearEntries();
-                    history.Clear();
-                    return true;
+		private bool ProcessSingleToken(string token) {
+			switch (token) {
+				case "exit":
+				case "quit":
+					Application.Exit();
+					return true;
 
-                case "hide":
-                    Hide();
-                    return true;
+				case "clear":
+					queryLog.ClearEntries();
+					history.Clear();
+					return true;
 
-                default:
-                    return false;
-            }
-        }
-    }
+				case "hide":
+					Hide();
+					return true;
+
+				default:
+					return false;
+			}
+		}
+	}
 }
diff --git a/Query/MainForm.resx b/Query/MainForm.resx
index a73ff59..92caec3 100644
--- a/Query/MainForm.resx
+++ b/Query/MainForm.resx
@@ -126,94 +126,94 @@
   <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
   <data name="trayIcon.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
-        AAABAAEAGBgAAAEAIACICQAAFgAAACgAAAAYAAAAMAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAkJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQk
-        JP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQk
-        JP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQk
-        JP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQk
-        JP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQk
-        JP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BA
-        QP9AQED/QEBA/0BAQP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP9AQED/QEBA/0BAQP9AQED/QEBA/0BA
-        QP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP8kJCT/JCQk/yQk
-        JP8kJCT/JCQk/yQkJP9AQED/QEBA////////////QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA////
-        ////////QEBA////////////QEBA/0BAQP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP9AQED/QEBA////
-        /////////////0BAQP9AQED/QEBA/0BAQP9AQED/QEBA////////////QEBA////////////QEBA/0BA
-        QP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP9AQED/QEBA/0BAQP////////////////9AQED/QEBA/0BA
-        QP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQk
-        JP9AQED/QEBA/0BAQP9AQED/////////////////QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BA
-        QP9AQED/QEBA/0BAQP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP9AQED/QEBA/0BAQP9AQED/QEBA////
-        /////////////0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP8kJCT/JCQk/yQk
-        JP8kJCT/JCQk/yQkJP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP////////////////9AQED/QEBA/0BA
-        QP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP9AQED/QEBA/0BA
-        QP9AQED/QEBA/0BAQP9AQED/////////////////QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BA
-        QP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/////////
-        ////////QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQk
-        JP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP////////////////9AQED/QEBA/0BAQP9AQED/QEBA/0BA
-        QP9AQED/QEBA/0BAQP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP9AQED/QEBA/0BAQP9AQED/QEBA////
-        /////////////0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP8kJCT/JCQk/yQk
-        JP8kJCT/JCQk/yQkJP9AQED/QEBA/0BAQP9AQED/////////////////QEBA/0BAQP9AQED/QEBA/0BA
-        QP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP9AQED/QEBA/0BA
-        QP////////////////9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BA
-        QP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP9AQED/QEBA/////////////////0BAQP9AQED/QEBA/0BA
-        QP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQk
-        JP9AQED/QEBA////////////QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BA
-        QP9AQED/QEBA/0BAQP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP9AQED/QEBA/0BAQP9AQED/QEBA/0BA
-        QP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP8kJCT/JCQk/yQk
-        JP8kJCT/JCQk/yQkJP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BA
-        QP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQk
-        JP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQk
-        JP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQk
-        JP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQk
-        JP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQk
-        JP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8AAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAA
-        AEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAA
-        AEE=
-</value>
+      AAABAAEAGBgAAAEAIACICQAAFgAAACgAAAAYAAAAMAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+      AAAkJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQk
+      JP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQk
+      JP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQk
+      JP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQk
+      JP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQk
+      JP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BA
+      QP9AQED/QEBA/0BAQP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP9AQED/QEBA/0BAQP9AQED/QEBA/0BA
+      QP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP8kJCT/JCQk/yQk
+      JP8kJCT/JCQk/yQkJP9AQED/QEBA////////////QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA////
+      ////////QEBA////////////QEBA/0BAQP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP9AQED/QEBA////
+      /////////////0BAQP9AQED/QEBA/0BAQP9AQED/QEBA////////////QEBA////////////QEBA/0BA
+      QP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP9AQED/QEBA/0BAQP////////////////9AQED/QEBA/0BA
+      QP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQk
+      JP9AQED/QEBA/0BAQP9AQED/////////////////QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BA
+      QP9AQED/QEBA/0BAQP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP9AQED/QEBA/0BAQP9AQED/QEBA////
+      /////////////0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP8kJCT/JCQk/yQk
+      JP8kJCT/JCQk/yQkJP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP////////////////9AQED/QEBA/0BA
+      QP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP9AQED/QEBA/0BA
+      QP9AQED/QEBA/0BAQP9AQED/////////////////QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BA
+      QP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/////////
+      ////////QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQk
+      JP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP////////////////9AQED/QEBA/0BAQP9AQED/QEBA/0BA
+      QP9AQED/QEBA/0BAQP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP9AQED/QEBA/0BAQP9AQED/QEBA////
+      /////////////0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP8kJCT/JCQk/yQk
+      JP8kJCT/JCQk/yQkJP9AQED/QEBA/0BAQP9AQED/////////////////QEBA/0BAQP9AQED/QEBA/0BA
+      QP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP9AQED/QEBA/0BA
+      QP////////////////9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BA
+      QP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP9AQED/QEBA/////////////////0BAQP9AQED/QEBA/0BA
+      QP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQk
+      JP9AQED/QEBA////////////QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BA
+      QP9AQED/QEBA/0BAQP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP9AQED/QEBA/0BAQP9AQED/QEBA/0BA
+      QP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP8kJCT/JCQk/yQk
+      JP8kJCT/JCQk/yQkJP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BA
+      QP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQk
+      JP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQk
+      JP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQk
+      JP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQk
+      JP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQk
+      JP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8AAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAA
+      AEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAA
+      AEE=
+    </value>
   </data>
   <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
-        AAABAAEAGBgAAAEAIACICQAAFgAAACgAAAAYAAAAMAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAkJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQk
-        JP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQk
-        JP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQk
-        JP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQk
-        JP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQk
-        JP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BA
-        QP9AQED/QEBA/0BAQP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP9AQED/QEBA/0BAQP9AQED/QEBA/0BA
-        QP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP8kJCT/JCQk/yQk
-        JP8kJCT/JCQk/yQkJP9AQED/QEBA////////////QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA////
-        ////////QEBA////////////QEBA/0BAQP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP9AQED/QEBA////
-        /////////////0BAQP9AQED/QEBA/0BAQP9AQED/QEBA////////////QEBA////////////QEBA/0BA
-        QP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP9AQED/QEBA/0BAQP////////////////9AQED/QEBA/0BA
-        QP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQk
-        JP9AQED/QEBA/0BAQP9AQED/////////////////QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BA
-        QP9AQED/QEBA/0BAQP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP9AQED/QEBA/0BAQP9AQED/QEBA////
-        /////////////0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP8kJCT/JCQk/yQk
-        JP8kJCT/JCQk/yQkJP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP////////////////9AQED/QEBA/0BA
-        QP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP9AQED/QEBA/0BA
-        QP9AQED/QEBA/0BAQP9AQED/////////////////QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BA
-        QP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/////////
-        ////////QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQk
-        JP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP////////////////9AQED/QEBA/0BAQP9AQED/QEBA/0BA
-        QP9AQED/QEBA/0BAQP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP9AQED/QEBA/0BAQP9AQED/QEBA////
-        /////////////0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP8kJCT/JCQk/yQk
-        JP8kJCT/JCQk/yQkJP9AQED/QEBA/0BAQP9AQED/////////////////QEBA/0BAQP9AQED/QEBA/0BA
-        QP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP9AQED/QEBA/0BA
-        QP////////////////9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BA
-        QP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP9AQED/QEBA/////////////////0BAQP9AQED/QEBA/0BA
-        QP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQk
-        JP9AQED/QEBA////////////QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BA
-        QP9AQED/QEBA/0BAQP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP9AQED/QEBA/0BAQP9AQED/QEBA/0BA
-        QP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP8kJCT/JCQk/yQk
-        JP8kJCT/JCQk/yQkJP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BA
-        QP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQk
-        JP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQk
-        JP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQk
-        JP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQk
-        JP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQk
-        JP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8AAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAA
-        AEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAA
-        AEE=
-</value>
+      AAABAAEAGBgAAAEAIACICQAAFgAAACgAAAAYAAAAMAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+      AAAkJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQk
+      JP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQk
+      JP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQk
+      JP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQk
+      JP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQk
+      JP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BA
+      QP9AQED/QEBA/0BAQP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP9AQED/QEBA/0BAQP9AQED/QEBA/0BA
+      QP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP8kJCT/JCQk/yQk
+      JP8kJCT/JCQk/yQkJP9AQED/QEBA////////////QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA////
+      ////////QEBA////////////QEBA/0BAQP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP9AQED/QEBA////
+      /////////////0BAQP9AQED/QEBA/0BAQP9AQED/QEBA////////////QEBA////////////QEBA/0BA
+      QP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP9AQED/QEBA/0BAQP////////////////9AQED/QEBA/0BA
+      QP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQk
+      JP9AQED/QEBA/0BAQP9AQED/////////////////QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BA
+      QP9AQED/QEBA/0BAQP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP9AQED/QEBA/0BAQP9AQED/QEBA////
+      /////////////0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP8kJCT/JCQk/yQk
+      JP8kJCT/JCQk/yQkJP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP////////////////9AQED/QEBA/0BA
+      QP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP9AQED/QEBA/0BA
+      QP9AQED/QEBA/0BAQP9AQED/////////////////QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BA
+      QP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/////////
+      ////////QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQk
+      JP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP////////////////9AQED/QEBA/0BAQP9AQED/QEBA/0BA
+      QP9AQED/QEBA/0BAQP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP9AQED/QEBA/0BAQP9AQED/QEBA////
+      /////////////0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP8kJCT/JCQk/yQk
+      JP8kJCT/JCQk/yQkJP9AQED/QEBA/0BAQP9AQED/////////////////QEBA/0BAQP9AQED/QEBA/0BA
+      QP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP9AQED/QEBA/0BA
+      QP////////////////9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BA
+      QP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP9AQED/QEBA/////////////////0BAQP9AQED/QEBA/0BA
+      QP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQk
+      JP9AQED/QEBA////////////QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BA
+      QP9AQED/QEBA/0BAQP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP9AQED/QEBA/0BAQP9AQED/QEBA/0BA
+      QP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP8kJCT/JCQk/yQk
+      JP8kJCT/JCQk/yQkJP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP9AQED/QEBA/0BA
+      QP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQk
+      JP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQk
+      JP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQk
+      JP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQk
+      JP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQk
+      JP8kJCT/JCQk/yQkJP8kJCT/JCQk/yQkJP8AAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAA
+      AEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAA
+      AEE=
+    </value>
   </data>
-</root>
\ No newline at end of file
+</root>
diff --git a/Query/Program.cs b/Query/Program.cs
index 4f388cb..7a05ec9 100644
--- a/Query/Program.cs
+++ b/Query/Program.cs
@@ -1,13 +1,13 @@
 using System;
 using System.Windows.Forms;
 
-namespace Query{
-    static class Program{
-        [STAThread]
-        private static void Main(){
-            Application.EnableVisualStyles();
-            Application.SetCompatibleTextRenderingDefault(false);
-            Application.Run(new MainForm());
-        }
-    }
+namespace Query {
+	static class Program {
+		[STAThread]
+		private static void Main() {
+			Application.EnableVisualStyles();
+			Application.SetCompatibleTextRenderingDefault(false);
+			Application.Run(new MainForm());
+		}
+	}
 }