diff --git a/app/src/main/java/me/szaki/xkcd/xkcdbrowser/ui/main/MainActivity.java b/app/src/main/java/me/szaki/xkcd/xkcdbrowser/ui/main/MainActivity.java
index 5c3871290f4675c8f88ec0edf1a9d5598e9c68bc..e361178857cbfbf47c866894fe7108f8d3697976 100644
--- a/app/src/main/java/me/szaki/xkcd/xkcdbrowser/ui/main/MainActivity.java
+++ b/app/src/main/java/me/szaki/xkcd/xkcdbrowser/ui/main/MainActivity.java
@@ -42,7 +42,7 @@ public class MainActivity extends AppCompatActivity
 
     private ImageView imageView;
     private Comic currentComic;
-    private ImageButton favoriteButton;
+    private MenuItem favoriteButton;
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
@@ -61,22 +61,13 @@ public class MainActivity extends AppCompatActivity
 
         NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
         navigationView.setNavigationItemSelectedListener(this);
-        
-        findViewById(R.id.favorite_button).setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View view) {
-                favoriteButton.setClickable(false);
-                mainPresenter.saveComic(currentComic);
-            }
-        });
 
         this.imageView = findViewById(R.id.imageView);
-        this.favoriteButton = findViewById(R.id.favorite_button);
 
         findViewById(R.id.next_button).setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View view) {
-                favoriteButton.setClickable(false);
+                favoriteButton.setCheckable(false);
                 mainPresenter.getNext();
             }
         });
@@ -84,7 +75,7 @@ public class MainActivity extends AppCompatActivity
         findViewById(R.id.previous_button).setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View view) {
-                favoriteButton.setClickable(false);
+                favoriteButton.setCheckable(false);
                 mainPresenter.getPrevious();
             }
         });
@@ -92,10 +83,37 @@ public class MainActivity extends AppCompatActivity
         findViewById(R.id.random_button).setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View view) {
-                favoriteButton.setClickable(false);
+                favoriteButton.setCheckable(false);
                 mainPresenter.getRandom();
             }
         });
+
+    }
+
+    @Override
+    public boolean onCreateOptionsMenu(Menu menu) {
+        // Inflate the menu; this adds items to the action bar if it is present.
+
+        getMenuInflater().inflate(R.menu.main_menu, menu);
+        this.favoriteButton = menu.getItem(0);
+        return true;
+    }
+
+    @Override
+    public boolean onOptionsItemSelected(MenuItem item) {
+        // Handle action bar item clicks here. The action bar will
+        // automatically handle clicks on the Home/Up button, so long
+        // as you specify a parent activity in AndroidManifest.xml.
+        int id = item.getItemId();
+
+        //noinspection SimplifiableIfStatement
+        if (id == R.id.favorite_button) {
+            favoriteButton.setCheckable(false);
+            mainPresenter.saveComic(currentComic);
+            return true;
+        }
+
+        return super.onOptionsItemSelected(item);
     }
 
     @Override
@@ -168,6 +186,7 @@ public class MainActivity extends AppCompatActivity
                             .setAction("Action", null).show();
                 } else {
                     imageView.setImageBitmap(finalMIcon_val);
+                    setTitle(c.getTitle());
                 }
             }
         };
@@ -181,7 +200,7 @@ public class MainActivity extends AppCompatActivity
         Runnable myRunnable = new Runnable() {
             @Override
             public void run() {
-                favoriteButton.setImageDrawable(getDrawable(R.drawable.ic_star));
+                favoriteButton.setIcon(getDrawable(R.drawable.ic_star));
                 Snackbar.make(findViewById(android.R.id.content), "Saved!", Snackbar.LENGTH_SHORT)
                     .setAction("Action", null).show();
             }
@@ -190,13 +209,23 @@ public class MainActivity extends AppCompatActivity
     }
 
     @Override
-    public void setFavorite(boolean exists) {
+    public void setFavorite(final boolean exists) {
+
+        Handler mainHandler = new Handler(getApplicationContext().getMainLooper());
+
+        Runnable myRunnable = new Runnable() {
+            @Override
+            public void run() {
+                if (exists) {
+                    favoriteButton.setIcon(getDrawable(R.drawable.ic_star));
+                } else {
+                    favoriteButton.setIcon(getDrawable(R.drawable.ic_star_border));
+                    favoriteButton.setCheckable(true);
+                }
+            }
+        };
+        mainHandler.post(myRunnable);
+
 
-        if (exists) {
-            favoriteButton.setImageDrawable(getDrawable(R.drawable.ic_star));
-        } else {
-            favoriteButton.setImageDrawable(getDrawable(R.drawable.ic_star_border));
-            favoriteButton.setClickable(true);
-        }
     }
 }
diff --git a/app/src/main/res/layout/activity_detail.xml b/app/src/main/res/layout/activity_detail.xml
index 84494634cb06eaaf6dab08dd69ecbc9f00bb667f..b0c06b3c5777eeb6a9f5a72552abb7cd5f1ad7eb 100644
--- a/app/src/main/res/layout/activity_detail.xml
+++ b/app/src/main/res/layout/activity_detail.xml
@@ -4,7 +4,8 @@
     xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
-    tools:context=".ui.detail.DetailActivity">
+    tools:context=".ui.detail.DetailActivity"
+    android:fitsSystemWindows="true">
 
     <android.support.design.widget.AppBarLayout
         android:layout_width="match_parent"
diff --git a/app/src/main/res/layout/app_bar_main.xml b/app/src/main/res/layout/app_bar_main.xml
index 54bfacb0d575db66b22e5ad95a050aeec405c7e4..03f12f703b3190ce748d21aad33473415dc03aa3 100644
--- a/app/src/main/res/layout/app_bar_main.xml
+++ b/app/src/main/res/layout/app_bar_main.xml
@@ -14,30 +14,10 @@
         <android.support.v7.widget.Toolbar
             android:id="@+id/toolbar"
             android:layout_width="match_parent"
-            android:layout_height="?attr/actionBarSize"
+            android:layout_height="wrap_content"
             android:background="?attr/colorPrimary"
             app:popupTheme="@style/AppTheme.PopupOverlay">
 
-            <LinearLayout
-                android:layout_width="match_parent"
-                android:layout_height="match_parent"
-                android:gravity="right"
-                android:orientation="vertical">
-
-                <ImageButton
-                    android:id="@+id/favorite_button"
-                    android:layout_width="50dp"
-                    android:layout_height="wrap_content"
-                    android:adjustViewBounds="false"
-                    android:background="@null"
-                    android:cropToPadding="false"
-                    android:padding="10dp"
-                    android:scaleType="centerInside"
-                    app:srcCompat="@drawable/ic_star_border"
-                    android:clickable="false"/>
-
-
-            </LinearLayout>
         </android.support.v7.widget.Toolbar>
 
     </android.support.design.widget.AppBarLayout>
diff --git a/app/src/main/res/menu/main_menu.xml b/app/src/main/res/menu/main_menu.xml
new file mode 100644
index 0000000000000000000000000000000000000000..2bdd84166ddd9eb9567dc8ff80662b9d6736932a
--- /dev/null
+++ b/app/src/main/res/menu/main_menu.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<menu xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto">
+    <item
+        android:id="@+id/favorite_button"
+        android:orderInCategory="100"
+        android:title="@string/action_settings"
+        android:icon="@drawable/ic_star_border"
+        app:showAsAction="ifRoom" />
+</menu>
\ 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 7711ace014e281b735f9445e94ddb515bceec1ac..259fb49642461fa8f07f8c14f4552d2e731eca4c 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -6,7 +6,7 @@
     <string name="nav_header_title">Android Studio</string>
     <string name="nav_header_subtitle">android.studio@android.com</string>
     <string name="nav_header_desc">Navigation header</string>
-    <string name="action_settings">Settings</string>
-    <string name="title_activity_favorites">FavoritesActivity</string>
-    <string name="title_activity_detail">DetailActivity</string>
+    <string name="action_settings">Favorite</string>
+    <string name="title_activity_favorites">Favorites</string>
+    <string name="title_activity_detail">Detail</string>
 </resources>
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index 545b9c6d2c45df7938f8ffd5ac2d806dec36f122..5e399fa2ef03d01365e9c9dff7940aec2c4ba97b 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -1,7 +1,7 @@
 <resources>
 
     <!-- Base application theme. -->
-    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
+    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
         <!-- Customize your theme here. -->
         <item name="colorPrimary">@color/colorPrimary</item>
         <item name="colorPrimaryDark">@color/colorPrimaryDark</item>