diff --git a/README.md b/README.md
index 13536f0c3a4f978194af8679459a111fd8ca3ead..d41f8093b86e8560966f381506d24de52fd7207f 100644
--- a/README.md
+++ b/README.md
@@ -27,6 +27,9 @@ The book does not cover how to do work with Radio Buttons. I will talk about it
 
 ## Outside Resources Used
 
+http://javatechig.com/android/android-radio-button-example
+* Determined the equivalent of OnClickListener for radio buttons.
+
 ## Known Problems, Issues, And/Or Errors in the Program
 
 
diff --git a/app/src/main/java/edu/kvcc/cis298/cis298assignment2/Conversion.java b/app/src/main/java/edu/kvcc/cis298/cis298assignment2/Conversion.java
index 632d60b2ad6733e277d25266a4f800d44b8c8d2d..bb4ecf5c18a8ca04276d89e6dbbd1f596741f45e 100644
--- a/app/src/main/java/edu/kvcc/cis298/cis298assignment2/Conversion.java
+++ b/app/src/main/java/edu/kvcc/cis298/cis298assignment2/Conversion.java
@@ -1,5 +1,8 @@
 package edu.kvcc.cis298.cis298assignment2;
 
+import android.widget.RadioButton;
+import android.widget.RadioGroup;
+
 /**
  * Created by brodriguez8774 on 10/1/2015.
  */
@@ -69,6 +72,12 @@ public class Conversion {
 
     //region Private Methods
 
+    private void CalculateTemperature()
+    {
+        CalculateBase();
+        CalculateConvertTo();
+    }
+
     /**
      * Converts user's int to base int.
      */
@@ -117,7 +126,7 @@ public class Conversion {
                 }
                 // If desired is Rankin, convert from base.
                 else {
-                    convertedValueDouble = ((baseDouble + 273.15) * 9 / 5);
+                    convertedValueDouble = ((baseDouble  * 9 / 5) - 491.67);
                 }
             }
         }
@@ -130,11 +139,7 @@ public class Conversion {
 
     //region Public Methods
 
-    public void CalculateTemperature()
-    {
-        CalculateBase();
-        CalculateConvertTo();
-    }
+
 
     //endregion
 
diff --git a/app/src/main/java/edu/kvcc/cis298/cis298assignment2/TemperatureConverter.java b/app/src/main/java/edu/kvcc/cis298/cis298assignment2/TemperatureConverter.java
index 01150d7b845152de8808a0ae601eae7c6ec3399c..56101b2850250a4236876d2657107da9b61d31fa 100644
--- a/app/src/main/java/edu/kvcc/cis298/cis298assignment2/TemperatureConverter.java
+++ b/app/src/main/java/edu/kvcc/cis298/cis298assignment2/TemperatureConverter.java
@@ -50,6 +50,8 @@ public class TemperatureConverter extends AppCompatActivity {
     private static final String TAG = "TemperatureConverter";
     private static final String KEY_INDEX = "index";
 
+    Conversion conversion;
+
     //endregion
 
 
@@ -63,69 +65,201 @@ public class TemperatureConverter extends AppCompatActivity {
      */
     private void Convert()
     {
+        // Sets user's input to a variable.
+        String userInputString = mUserInputEditText.getText().toString().trim();
+        Log.d(TAG, "Parsed: " + userInputString);
+        double userDouble = Double.parseDouble(userInputString);
+        Log.d(TAG, "Parsed: " + userDouble);
+
         // Query to determine which radio buttons have been selected. Stores value as int.
         mSelectedInitialId = mInitialGroup.getCheckedRadioButtonId();
         mSelectedConvertId = mConvertGroup.getCheckedRadioButtonId();
 
-        Conversion conversion = new Conversion(0, mSelectedInitialId, mSelectedConvertId);
+        int initialGroupSelection;
+        int convertGroupSelection;
+
+        if (mSelectedInitialId == mInitial1Radio.getId()) {
+            initialGroupSelection = 1;
+        }
+        else {
+            if (mSelectedInitialId == mInitial2Radio.getId()) {
+                initialGroupSelection = 2;
+            }
+            else {
+                if (mSelectedInitialId == mInitial3Radio.getId()) {
+                    initialGroupSelection = 3;
+                }
+                else {
+                    if (mSelectedInitialId == mInitial4Radio.getId()) {
+                        initialGroupSelection = 4;
+                    }
+                }
+            }
+        }
+
+        if (mSelectedConvertId == mConvert1Radio.getId()) {
+            convertGroupSelection = 1;
+        }
+        else {
+            if (mSelectedConvertId == mConvert2Radio.getId()) {
+                convertGroupSelection = 2;
+            }
+            else {
+                if (mSelectedConvertId == mConvert3Radio.getId()) {
+                    convertGroupSelection = 3;
+                }
+                else {
+                    if (mSelectedConvertId == mConvert4Radio.getId()) {
+                        convertGroupSelection = 4;
+                    }
+                }
+            }
+        }
+
+        conversion = new Conversion(0, initialGroupSelection, convertGroupSelection);
 
         DisplayConversion();
     }
 
     private void DisplayConversion()
     {
-        String initialDegree;
-        String convertDegree;
-        String initialEquation;
+        double initialTemp = conversion.getInitialValueDouble();
+        double convertTemp = conversion.getConvertedValueDouble();
         String conversion1String;
         String conversion2String;
         String equation1String;
         String equation2String;
 
         // Determines what types of strings should display.
+        // Combinations for Initial1 selected.
         if (mSelectedInitialId == mInitial1Radio.getId()) {
-            initialDegree = "C";
-            initialEquation = "[C]";
-        }
-        else {
-            if (mSelectedInitialId == mInitial2Radio.getId()) {
-                initialDegree = "F";
-                initialEquation = "[F]";
+            if (mSelectedConvertId == mConvert1Radio.getId()) {
+                conversion1String = initialTemp + "C";
+                conversion2String = convertTemp + "C";
+                equation1String = "[C]";
+                equation2String = "[C]";
             }
             else {
-                if (mSelectedInitialId == mInitial3Radio.getId()) {
-                    initialDegree = "K";
-                    initialEquation = "[K]";
+                if (mSelectedConvertId == mConvert2Radio.getId()) {
+                    conversion1String = initialTemp + "C";
+                    conversion2String = convertTemp + "F";
+                    equation1String = "[F]";
+                    equation2String = "([C] x 9/5) + 32";
                 }
                 else {
-                    initialDegree = "R";
-                    initialEquation = "[R]";
+                    if (mSelectedConvertId == mConvert3Radio.getId()) {
+                        conversion1String = initialTemp + "C";
+                        conversion2String = convertTemp + "K";
+                        equation1String = "[K]";
+                        equation2String = "[C] + 273.15";
+                    }
+                    else {
+                        conversion1String = initialTemp + "C";
+                        conversion2String = convertTemp + "R";
+                        equation1String = "[R]";
+                        equation2String = "([C] * 9 / 5) + 491.67";
+                    }
                 }
             }
         }
-
-        if (mSelectedConvertId == mConvert1Radio.getId()) {
-            convertDegree = "C";
-        }
         else {
-            if (mSelectedConvertId == mConvert2Radio.getId()) {
-                convertDegree = "F";
+            // Combinations for Initial2 selected.
+            if (mSelectedInitialId == mInitial2Radio.getId()) {
+                if (mSelectedConvertId == mConvert1Radio.getId()) {
+                    conversion1String = initialTemp + "F";
+                    conversion2String = convertTemp + "C";
+                    equation1String = "[C]";
+                    equation2String = "([F] - 32) * 5 / 9";
+                }
+                else {
+                    if (mSelectedConvertId == mConvert2Radio.getId()) {
+                        conversion1String = initialTemp + "F";
+                        conversion2String = convertTemp + "F";
+                        equation1String = "[F]";
+                        equation2String = "[F]";
+                    }
+                    else {
+                        if (mSelectedConvertId == mConvert3Radio.getId()) {
+                            conversion1String = initialTemp + "F";
+                            conversion2String = convertTemp + "K";
+                            equation1String = "[K]";
+                            equation2String = "[F]";
+                        }
+                        else {
+                            conversion1String = initialTemp + "F";
+                            conversion2String = convertTemp + "R";
+                            equation1String = "[R]";
+                            equation2String = "[F]";
+                        }
+                    }
+                }
             }
             else {
-                if (mSelectedConvertId == mConvert3Radio.getId()) {
-                    convertDegree = "K";
+                // Combinations for Initial3 selected.
+                if (mSelectedInitialId == mInitial3Radio.getId()) {
+                    if (mSelectedConvertId == mConvert1Radio.getId()) {
+                        conversion1String = initialTemp + "K";
+                        conversion2String = convertTemp + "C";
+                        equation1String = "[C]";
+                        equation2String = "[K] - 273.15";
+                    }
+                    else {
+                        if (mSelectedConvertId == mConvert2Radio.getId()) {
+                            conversion1String = initialTemp + "K";
+                            conversion2String = convertTemp + "F";
+                            equation1String = "[F]";
+                            equation2String = "[K]";
+                        }
+                        else {
+                            if (mSelectedConvertId == mConvert3Radio.getId()) {
+                                conversion1String = initialTemp + "K";
+                                conversion2String = convertTemp + "K";
+                                equation1String = "[K]";
+                                equation2String = "[K]";
+                            }
+                            else {
+                                conversion1String = initialTemp + "K";
+                                conversion2String = convertTemp + "R";
+                                equation1String = "[R]";
+                                equation2String = "[K]";
+                            }
+                        }
+                    }
                 }
                 else {
-                    convertDegree = "R";
+                    // Combinations for Initial4 selected
+                    if (mSelectedConvertId == mConvert1Radio.getId()) {
+                        conversion1String = initialTemp + "R";
+                        conversion2String = convertTemp + "C";
+                        equation1String = "[C]";
+                        equation2String = "([R] - 491.67) * 5 / 9";
+                    }
+                    else {
+                        if (mSelectedConvertId == mConvert2Radio.getId()) {
+                            conversion1String = initialTemp + "R";
+                            conversion2String = convertTemp + "F";
+                            equation1String = "[F]";
+                            equation2String = "[R]";
+                        }
+                        else {
+                            if (mSelectedConvertId == mConvert3Radio.getId()) {
+                                conversion1String = initialTemp + "R";
+                                conversion2String = convertTemp + "K";
+                                equation1String = "[K]";
+                                equation2String = "[R]";
+                            }
+                            else {
+                                conversion1String = initialTemp + "R";
+                                conversion2String = convertTemp + "R";
+                                equation1String = "[R]";
+                                equation2String = "[R]";
+                            }
+                        }
+                    }
                 }
             }
         }
 
-        conversion1String = initialDegree;
-        conversion2String = convertDegree;
-        equation1String = initialEquation;
-        equation2String = "";
-
         String fullConversionString = conversion1String + " = " + conversion2String;
         String fullEquationString = equation1String + " = " + equation2String;
 
@@ -178,9 +312,9 @@ public class TemperatureConverter extends AppCompatActivity {
 
         // Section which sets onClickListeners (watches for user action).
         // OnClickListener for Initial Radio Button Group.
-        mInitialGroup.setOnClickListener(new  View.OnClickListener() {
+        mInitialGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
             @Override
-            public void onClick(View view){
+            public void onCheckedChanged(RadioGroup group, int checkedID) {
 
                 // Debugging to figure out what values are actually given for checked buttons.
                 int selectedInitialId = mInitialGroup.getCheckedRadioButtonId();
@@ -191,19 +325,17 @@ public class TemperatureConverter extends AppCompatActivity {
                 // Checks to see if both groups have been checked, if convert button has been
                 // clicked at least once, and user has input a number.
                 if (mInitialGroupChecked && mConvertGroupChecked && mUserInputEditText.length() > 0) {
-                    double userInput = Double.parseDouble(mUserInputEditText.toString());
                     Convert();
-                }
-                else {
+                } else {
                     mInitialGroupChecked = true;
                 }
             }
         });
 
-        // OnClickListener for Convert To Radio Button Group.
-        mConvertGroup.setOnClickListener(new View.OnClickListener() {
+        // OnCheckChangeListener for Convert To Radio Button Group.
+        mConvertGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
             @Override
-            public void onClick(View view) {
+            public void onCheckedChanged(RadioGroup group, int checkedID) {
 
                 // Debugging to figure out what values are actually given for checked buttons.
                 int selectedInitialId = mInitialGroup.getCheckedRadioButtonId();
@@ -216,10 +348,8 @@ public class TemperatureConverter extends AppCompatActivity {
                 // clicked at least once, and user has input a number.
                 if (mInitialGroupChecked && mConvertGroupChecked && mConvertButtonIsClicked
                         && mUserInputEditText.length() > 0) {
-                    double userInput = Double.parseDouble(mUserInputEditText.toString());
                     Convert();
-                }
-                else {
+                } else {
                     mConvertGroupChecked = true;
                 }
             }
@@ -241,18 +371,15 @@ public class TemperatureConverter extends AppCompatActivity {
 
                     // Checks to see if both groups have been checked.
                     if (mInitialGroupChecked && mConvertGroupChecked) {
-                        double userInput = Double.parseDouble(mUserInputEditText.toString());
                         mConvertButtonIsClicked = true;
                         Convert();
-                    }
-                    else {
+                    } else {
                         messageResId = R.string.convert_error_2_toast;
-                        Toast.makeText(TemperatureConverter.this, messageResId, Toast.LENGTH_SHORT);
+                        Toast.makeText(TemperatureConverter.this, messageResId, Toast.LENGTH_SHORT).show();
                     }
-                }
-                else {
+                } else {
                     messageResId = R.string.convert_error_1_toast;
-                    Toast.makeText(TemperatureConverter.this, messageResId, Toast.LENGTH_SHORT);
+                    Toast.makeText(TemperatureConverter.this, messageResId, Toast.LENGTH_SHORT).show();
                 }
             }
         });
diff --git a/app/src/main/res/layout/activity_temperature_converter.xml b/app/src/main/res/layout/activity_temperature_converter.xml
index a6c1bae90e8ef540b264f0516a5edad927c4b2cc..20c38e42e18f5c7cc19f6c6c06eb45493556ac26 100644
--- a/app/src/main/res/layout/activity_temperature_converter.xml
+++ b/app/src/main/res/layout/activity_temperature_converter.xml
@@ -6,16 +6,25 @@
     android:padding="20dp"
     android:orientation="vertical" >
 
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:gravity="center_vertical"
+        android:padding="10dp"
+        android:orientation="vertical">
+
+
     <TextView
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
-        android:gravity="top"
+        android:gravity="start"
         android:text="@string/convert_string" />
 
     <EditText
         android:id="@+id/user_input_edit_text"
         android:layout_width="wrap_content"
-        android:layout_height="wrap_content" />
+        android:layout_height="wrap_content"
+        android:inputType="number" />
 
     <LinearLayout
         android:layout_width="match_parent"
@@ -141,6 +150,6 @@
 
     </LinearLayout>
 
-
+    </LinearLayout>
 
 </LinearLayout>
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 189aae42165a89796b99d0108f370a71f2189096..29292b74b58738bdc2bd55068e732687c4c852b2 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -12,7 +12,7 @@
     <string name="fahrenheit_string">Fahrenheit</string>
     <string name="kelvin_string">Kelvin</string>
     <string name="rankine_string">Rankine</string>
-    <string name="convert_button_string">CONVERT</string>
+    <string name="convert_button_string">Convert</string>
 
     <!--Toasts-->
     <string name="convert_error_1_toast">Please input a number to convert!</string>