diff --git a/security/DirectBoot/Application/src/main/java/com/example/android/directboot/SchedulerFragment.java b/security/DirectBoot/Application/src/main/java/com/example/android/directboot/SchedulerFragment.java
index 0f32c25..008961f 100644
--- a/security/DirectBoot/Application/src/main/java/com/example/android/directboot/SchedulerFragment.java
+++ b/security/DirectBoot/Application/src/main/java/com/example/android/directboot/SchedulerFragment.java
@@ -129,7 +129,7 @@
 
         @Override
         public void onReceive(Context context, Intent intent) {
-            Alarm alarm = intent.getParcelableExtra(AlarmIntentService.ALARM_KEY);
+            Alarm alarm = AlarmUtil.readAlarm(intent.getExtras());
             mAlarmAdapter.deleteAlarm(alarm);
         }
     }
diff --git a/security/DirectBoot/Application/src/main/java/com/example/android/directboot/alarms/Alarm.java b/security/DirectBoot/Application/src/main/java/com/example/android/directboot/alarms/Alarm.java
index 82712c6..27ca5c4 100644
--- a/security/DirectBoot/Application/src/main/java/com/example/android/directboot/alarms/Alarm.java
+++ b/security/DirectBoot/Application/src/main/java/com/example/android/directboot/alarms/Alarm.java
@@ -16,66 +16,44 @@
 
 package com.example.android.directboot.alarms;
 
-import android.os.Parcel;
-import android.os.Parcelable;
-import android.support.annotation.NonNull;
-
 import org.json.JSONException;
 import org.json.JSONObject;
 
+import android.support.annotation.NonNull;
+
 import java.util.Calendar;
 import java.util.Objects;
 
 /**
  * Class represents a single alarm.
  */
-public class Alarm implements Comparable<Alarm>, Parcelable {
+public class Alarm implements Comparable<Alarm> {
 
     public int id;
+
     public int month;
+
     public int date;
+
     /** Integer as a 24-hour format */
     public int hour;
+
     public int minute;
 
-    public Alarm() {}
-
-    protected Alarm(Parcel in) {
-        id = in.readInt();
-        month = in.readInt();
-        date = in.readInt();
-        hour = in.readInt();
-        minute = in.readInt();
+    public Alarm(int id, int month, int date, int hour, int minute) {
+        this.id = id;
+        this.month = month;
+        this.date = date;
+        this.hour = hour;
+        this.minute = minute;
     }
 
-    public static final Creator<Alarm> CREATOR = new Creator<Alarm>() {
-        @Override
-        public Alarm createFromParcel(Parcel in) {
-            return new Alarm(in);
-        }
-
-        @Override
-        public Alarm[] newArray(int size) {
-            return new Alarm[size];
-        }
-    };
-
-    @Override
-    public int describeContents() {
-        return 0;
-    }
-
-    @Override
-    public void writeToParcel(Parcel parcel, int i) {
-        parcel.writeInt(id);
-        parcel.writeInt(month);
-        parcel.writeInt(date);
-        parcel.writeInt(hour);
-        parcel.writeInt(minute);
+    public Alarm() {
     }
 
     /**
      * Serialize the instance as a JSON String.
+     *
      * @return serialized JSON String.
      */
     public String toJson() {
diff --git a/security/DirectBoot/Application/src/main/java/com/example/android/directboot/alarms/AlarmIntentService.java b/security/DirectBoot/Application/src/main/java/com/example/android/directboot/alarms/AlarmIntentService.java
index 446345c..3909482 100644
--- a/security/DirectBoot/Application/src/main/java/com/example/android/directboot/alarms/AlarmIntentService.java
+++ b/security/DirectBoot/Application/src/main/java/com/example/android/directboot/alarms/AlarmIntentService.java
@@ -34,7 +34,17 @@
 
     public static final String ALARM_WENT_OFF_ACTION = AlarmIntentService.class.getName()
             + ".ALARM_WENT_OFF";
-    public static final String ALARM_KEY = "alarm_instance";
+
+
+    public static final String KEY_ALARM_ID = "alarm_id";
+
+    public static final String KEY_ALARM_MONTH = "alarm_month";
+
+    public static final String KEY_ALARM_DATE = "alarm_date";
+
+    public static final String KEY_ALARM_HOUR = "alarm_hour";
+
+    public static final String KEY_ALARM_MINUTE = "alarm_minute";
 
     public AlarmIntentService() {
         super(AlarmIntentService.class.getName());
@@ -43,7 +53,7 @@
     @Override
     protected void onHandleIntent(Intent intent) {
         Context context = getApplicationContext();
-        Alarm alarm = intent.getParcelableExtra(ALARM_KEY);
+        Alarm alarm = AlarmUtil.readAlarm(intent.getExtras());
 
         NotificationManager notificationManager = context
                 .getSystemService(NotificationManager.class);
@@ -59,7 +69,7 @@
         AlarmStorage alarmStorage = new AlarmStorage(context);
         alarmStorage.deleteAlarm(alarm);
         Intent wentOffIntent = new Intent(ALARM_WENT_OFF_ACTION);
-        wentOffIntent.putExtra(ALARM_KEY, alarm);
+        wentOffIntent.putExtras(AlarmUtil.writeAlarm(alarm));
         LocalBroadcastManager.getInstance(context).sendBroadcast(wentOffIntent);
     }
 }
diff --git a/security/DirectBoot/Application/src/main/java/com/example/android/directboot/alarms/AlarmUtil.java b/security/DirectBoot/Application/src/main/java/com/example/android/directboot/alarms/AlarmUtil.java
index b80e8c9..29c01c9 100644
--- a/security/DirectBoot/Application/src/main/java/com/example/android/directboot/alarms/AlarmUtil.java
+++ b/security/DirectBoot/Application/src/main/java/com/example/android/directboot/alarms/AlarmUtil.java
@@ -20,6 +20,7 @@
 import android.app.PendingIntent;
 import android.content.Context;
 import android.content.Intent;
+import android.os.Bundle;
 import android.util.Log;
 
 import java.util.Calendar;
@@ -45,7 +46,9 @@
      */
     public void scheduleAlarm(Alarm alarm) {
         Intent intent = new Intent(mContext, AlarmIntentService.class);
-        intent.putExtra(AlarmIntentService.ALARM_KEY, alarm);
+        Bundle extras = writeAlarm(alarm);
+        intent.putExtras(extras);
+
         PendingIntent pendingIntent = PendingIntent
                 .getService(mContext, alarm.id, intent, PendingIntent.FLAG_UPDATE_CURRENT);
         Calendar alarmTime = Calendar.getInstance();
@@ -71,7 +74,6 @@
      */
     public void cancelAlarm(Alarm alarm) {
         Intent intent = new Intent(mContext, AlarmIntentService.class);
-        intent.putExtra(AlarmIntentService.ALARM_KEY, alarm);
         PendingIntent pendingIntent = PendingIntent
                 .getService(mContext, alarm.id, intent, PendingIntent.FLAG_UPDATE_CURRENT);
         mAlarmManager.cancel(pendingIntent);
@@ -94,4 +96,25 @@
         }
         return alarmTime;
     }
+
+    public static Alarm readAlarm(Bundle extras) {
+        int id = extras.getInt(AlarmIntentService.KEY_ALARM_ID);
+        int month = extras.getInt(AlarmIntentService.KEY_ALARM_MONTH);
+        int date = extras.getInt(AlarmIntentService.KEY_ALARM_DATE);
+        int hour = extras.getInt(AlarmIntentService.KEY_ALARM_HOUR);
+        int minute = extras.getInt(AlarmIntentService.KEY_ALARM_MINUTE);
+
+        return new Alarm(id, month, date, hour, minute);
+    }
+
+    public static Bundle writeAlarm(Alarm alarm){
+        Bundle extras = new Bundle();
+        extras.putInt(AlarmIntentService.KEY_ALARM_ID, alarm.id);
+        extras.putInt(AlarmIntentService.KEY_ALARM_MONTH, alarm.month);
+        extras.putInt(AlarmIntentService.KEY_ALARM_DATE, alarm.date);
+        extras.putInt(AlarmIntentService.KEY_ALARM_HOUR, alarm.hour);
+        extras.putInt(AlarmIntentService.KEY_ALARM_MINUTE, alarm.minute);
+
+        return extras;
+    }
 }
diff --git a/security/DirectBoot/template-params.xml b/security/DirectBoot/template-params.xml
index dd5d5b1..b020ec1 100644
--- a/security/DirectBoot/template-params.xml
+++ b/security/DirectBoot/template-params.xml
@@ -22,13 +22,13 @@
     <package>com.example.android.directboot</package>
 
     <minSdk>24</minSdk>
-    <compileSdkVersion>24</compileSdkVersion>
-    <targetSdkVersion>24</targetSdkVersion>
+    <compileSdkVersion>25</compileSdkVersion>
+    <targetSdkVersion>25</targetSdkVersion>
 
     <!-- Include additional dependencies here.-->
     <!-- dependency>com.google.android.gms:play-services:5.0.+</dependency -->
-    <dependency>com.android.support:recyclerview-v7:24.0.0</dependency>
-    <dependency>com.android.support:design:24.0.0</dependency>
+    <dependency>com.android.support:recyclerview-v7:25.0.1</dependency>
+    <dependency>com.android.support:design:25.0.1</dependency>
 
     <template src="base" />
 
@@ -45,7 +45,7 @@
 
     <metadata>
         <status>PUBLISHED</status>
-        <categories>Android N Preview</categories>
+        <categories>Security</categories>
         <technologies>Android</technologies>
         <languages>Java</languages>
         <solutions>Mobile</solutions>
