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 de239fb855a279879db38aed68d0f8ddfa9eaf4d..2fb0a96f759b8be70246b4fbfdcf52215c269ac3 100644
--- a/app/src/main/java/edu/kvcc/cis298/cis298assignment2/Conversion.java
+++ b/app/src/main/java/edu/kvcc/cis298/cis298assignment2/Conversion.java
@@ -7,18 +7,135 @@ public class Conversion {
 
     //region Variables
 
-    
+    private int initialValueInt;        // Temperature user wants to convert.
+    private int convertedValueInt;      // Temperature after conversion.
+    private int baseInt;                // Temperature at default value, arbitrarily specified as
+                                        // Celsius in this program. Used to help modularize program.
+    private int initialGroupInt;        // Holds temperature type of initial value.
+    private int convertGroupInt;        // Holds temperature type of converted value.
+
     //endregion
 
 
 
     //region Constructor
 
+    public Conversion(int initialValue, int initialGroup, int convertGroup)
+    {
+        setInitialValueInt(initialValueInt);
+        setInitialGroupInt(initialGroupInt);
+        setConvertGroupInt(convertGroupInt);
+
+        CalculateTemperature();
+    }
+
     //endregion
 
 
 
     //region Properties
 
+    public int getInitialValueInt() {
+        return initialValueInt;
+    }
+
+    public void setInitialValueInt(int initialValueInt) {
+        this.initialValueInt = initialValueInt;
+    }
+
+    public int getConvertedValueInt() {
+        return convertedValueInt;
+    }
+
+    public int getInitialGroupInt() {
+        return initialGroupInt;
+    }
+
+    public void setInitialGroupInt(int initialGroupInt) {
+        this.initialGroupInt = initialGroupInt;
+    }
+
+    public int getConvertGroupInt() {
+        return convertGroupInt;
+    }
+
+    public void setConvertGroupInt(int convertGroupInt) {
+        this.convertGroupInt = convertGroupInt;
+    }
+
+    //endregion
+
+
+
+    //region Private Methods
+
+    /**
+     * Converts user's int to base int.
+     */
+    private void CalculateBase() {
+        // If initial is Celsius, set base equal to user input.
+        if (initialGroupInt == 1) {
+            baseInt = initialValueInt;
+        }
+        else {
+            // If initial is Fahrenheit, convert to Celsius then set as base.
+            if (initialGroupInt == 2) {
+                baseInt = ((initialValueInt - 32) * 5 / 9);
+            }
+            else {
+                // If initial is Kelvin, convert to Celsius then set as base.
+                if (initialGroupInt == 3) {
+                    baseInt = (initialValueInt - 273);  // Should be 273.15
+                }
+                // If initial is Rankin, convert to Celsius then set as base.
+                else {
+                    baseInt = ((initialValueInt - 491) * 5 / 9);  // Should be 491.67
+                }
+            }
+        }
+
+    }
+
+    /**
+     * Converts base int to desired convert to int.
+     */
+    private void CalculateConvertTo()
+    {
+        // If desired is Celsius, set convert equal to base.
+        if (convertGroupInt == 1) {
+            convertedValueInt = baseInt;
+        }
+        else {
+            // If desired is Fahrenheit, convert from base.
+            if (convertGroupInt == 2) {
+                convertedValueInt = (baseInt * 9 / 5 + 32);
+            }
+            else {
+                // If desired is Kelvin, convert from base.
+                if (convertGroupInt == 3) {
+                    convertedValueInt = (baseInt + 273);     // Should be 273.15
+                }
+                // If desired is Rankin, convert from base.
+                else {
+                    convertedValueInt = ((baseInt + 273) * 9 / 5);   // Should be 273.15
+                }
+            }
+        }
+
+    }
+
     //endregion
+
+
+
+    //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 f04902fd1b52bfc09f7e1fff3ddde790041bfd29..29c71b25a162fe4eb76d5c94e42b5115a5f59391 100644
--- a/app/src/main/java/edu/kvcc/cis298/cis298assignment2/TemperatureConverter.java
+++ b/app/src/main/java/edu/kvcc/cis298/cis298assignment2/TemperatureConverter.java
@@ -32,6 +32,11 @@ public class TemperatureConverter extends AppCompatActivity {
     private TextView mConversionTextView;
     private TextView mEquationTextView;
 
+    // Values to check if user input is present.
+    private boolean mInitialGroupChecked;
+    private boolean mConvertGroupChecked;
+    private boolean mInputTextPresent;
+
     private static final String TAG = "TemperatureConverter";
     private static final String KEY_INDEX = "index";
 
@@ -41,6 +46,35 @@ public class TemperatureConverter extends AppCompatActivity {
 
     //region Standard Methods
 
+    /**
+     * Gets the values of user's input and converts.
+     * <p>
+     * Only use if both groups have been checked and user has input a number to convert.
+     */
+    private void Convert()
+    {
+        // Query to determine which radio buttons have been selected. Stores value as int.
+        int selectedInitialId = mInitialGroup.getCheckedRadioButtonId();
+        int selectedConvertId = mConvertGroup.getCheckedRadioButtonId();
+
+        Conversion conversion = new Conversion(0, selectedInitialId, selectedConvertId);
+
+        DisplayConversion();
+    }
+
+    private void DisplayConversion()
+    {
+        String conversion1String;
+        String conversion2String;
+        String fullConversionString = conversion1String + " = " + conversion2String;
+        mConversionTextView.setText(fullConversionString);
+
+        String equation1String;
+        String equation2String;
+        String fullEquationString = equation1String + " = " + equation2String;
+        mEquationTextView.setText(fullEquationString);
+    }
+
     //endregion
 
 
@@ -74,14 +108,47 @@ public class TemperatureConverter extends AppCompatActivity {
         mConversionTextView = (TextView) findViewById(R.id.converstion_text_view);
         mEquationTextView = (TextView) findViewById(R.id.equation_text_view);
 
+        mInitialGroupChecked = false;
+        mConvertGroupChecked = false;
 
-        //Section which sets onClickListeners (watches for user action).
+        // Section which sets onClickListeners (watches for user action).
+        // OnClickListener for Initial Radio Button Group.
+        mInitialGroup.setOnClickListener(new  View.OnClickListener() {
+            @Override
+            public void onClick(View view){
+                // Checks to see if both groups have been checked.
+                if (mInitialGroupChecked && mConvertGroupChecked) {
+                    Convert();
+                }
+                else {
+                    mInitialGroupChecked = true;
+                }
+            }
+        });
+
+        // OnClickListener for Convert To Radio Button Group.
+        mConvertGroup.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View view) {
+                if (mInitialGroupChecked && mConvertGroupChecked) {
+                    Convert();
+                }
+                else {
+                    mConvertGroupChecked = true;
+                }
+            }
+        });
+
+        // OnClickListener for Convert Button.
         mConvertButton.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View view) {
-                // Query to determine which radio buttons have been selected. Stores value as int.
-                int selectedInitialId = mInitialGroup.getCheckedRadioButtonId();
-                int selectedConvertId = mConvertGroup.getCheckedRadioButtonId();
+                if (mInitialGroupChecked && mConvertGroupChecked) {
+                    Convert();
+                }
+                else {
+
+                }
             }
         });
 
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index cdcc2144d7d4f63a9de5c4b8a78446eab4587146..44ad3620ae80ac686a4bc4c45e54cc4920533790 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -11,7 +11,7 @@
     <string name="celsius_string">Celsius</string>
     <string name="fahrenheit_string">Fahrenheit</string>
     <string name="kelvin_string">Kelvin</string>
-    <string name="rankin_string">Rankin</string>
+    <string name="rankin_string">Rankine</string>
     <string name="convert_button_string">CONVERT</string>
 
 </resources>