file360

commit 6450e08713bf8e838696204a93cced9f39b8a297
parent aba2572477e650e73d22db8f92a4aa4ab508cec2
Author: Bharatvaj Hemanth <bharatvaj@yahoo.com>
Date: Thu, 3 Apr 2025 01:11:27 +0530

ARAM Version

- Added FTP Page
- And too many font files (this may be removed in the future)
101 files changed, 10793 insertions(+), 2139 deletions(-)
A
.gitignore
|
2
++
M
File360.sln
|
42
++++++++++++++++++++++--------------------
A
File360/Addresser.cs
|
82
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
M
File360/App.xaml
|
2154
++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------
M
File360/App.xaml.cs
|
303
+++++++++++++++++++++++++++++--------------------------------------------------
A
File360/Assets/ARAM.png
|
0
A
File360/Assets/Fine-Halftone-Screen-Small.png
|
0
A
File360/Assets/Font/Custom/ClearSans-Light.ttf
|
0
A
File360/Assets/Font/Custom/ClearSans-Thin.ttf
|
0
A
File360/Assets/Font/Custom/HelveticaNeue-Thin.otf
|
0
A
File360/Assets/Font/Custom/Lobster 1.4.otf
|
0
A
File360/Assets/Font/Custom/Mohave.otf
|
0
A
File360/Assets/Font/Custom/Raleway-Light.ttf
|
0
A
File360/Assets/Font/Custom/Raleway-SemiBold.ttf
|
0
A
File360/Assets/Font/Custom/Raleway-Thin.ttf
|
0
A
File360/Assets/Font/Custom/Roboto-Thin.ttf
|
0
A
File360/Assets/Font/filetypes.ttf
|
0
A
File360/Assets/Font/iconfont.ttf
|
0
A
File360/Assets/Font/settingsfont.ttf
|
0
A
File360/Assets/IMG-20150528-WA0003.jpg
|
0
A
File360/Assets/Logo.scale-240.png
|
0
A
File360/Assets/Maari-Tamil-2015-500x500.jpg
|
0
A
File360/Assets/SmallLogo.scale-240.png
|
0
A
File360/Assets/SplashScreen.scale-240.png
|
0
A
File360/Assets/Square71x71Logo.scale-240.png
|
0
A
File360/Assets/StoreLogo.scale-240.png
|
0
A
File360/Assets/WideLogo.scale-240.png
|
0
A
File360/Assets/innerShadow.png
|
0
A
File360/Assets/mainDropShadow.png
|
0
A
File360/Assets/mainDropShadowTransparent.png
|
0
A
File360/Assets/main_drop_shadow_png 13-Dec-2007 09_42 31K.png
|
0
A
File360/Assets/nullMusicArt.jpg
|
0
A
File360/Assets/pic (1).jpg
|
0
A
File360/Assets/pic (2).jpg
|
0
A
File360/Assets/pulse2.png
|
0
A
File360/Assets/start3.png
|
0
A
File360/Assets/url.png
|
0
A
File360/Assets/vertDrop.png
|
0
A
File360/BlankPage.xaml
|
16
++++++++++++++++
A
File360/BlankPage.xaml.cs
|
39
+++++++++++++++++++++++++++++++++++++++
A
File360/BoolToVisibilityConverter.cs
|
40
++++++++++++++++++++++++++++++++++++++++
A
File360/BottomBarItem.xaml
|
17
+++++++++++++++++
A
File360/BottomBarItem.xaml.cs
|
79
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A
File360/CardDetails.xaml
|
13
+++++++++++++
A
File360/CardDetails.xaml.cs
|
39
+++++++++++++++++++++++++++++++++++++++
A
File360/ColorList.cs
|
19
+++++++++++++++++++
A
File360/ColorPicker.xaml
|
32
++++++++++++++++++++++++++++++++
A
File360/ColorPicker.xaml.cs
|
185
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A
File360/ColorSampler.cs
|
36
++++++++++++++++++++++++++++++++++++
A
File360/Common/NavigationHelper.cs
|
436
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A
File360/Common/ObservableDictionary.cs
|
149
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A
File360/Common/ReadMe.txt
|
8
++++++++
A
File360/Common/RelayCommand.cs
|
87
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A
File360/Common/SuspensionManager.cs
|
269
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A
File360/ContinuationManager.cs
|
191
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A
File360/Dialog.cs
|
72
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A
File360/DialogBox.xaml
|
51
+++++++++++++++++++++++++++++++++++++++++++++++++++
A
File360/DialogBox.xaml.cs
|
91
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A
File360/DownloadIndicator.xaml
|
30
++++++++++++++++++++++++++++++
A
File360/DownloadIndicator.xaml.cs
|
50
++++++++++++++++++++++++++++++++++++++++++++++++++
A
File360/DrawerLayout.cs
|
524
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A
File360/FTPPage.xaml
|
57
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A
File360/FTPPage.xaml.cs
|
39
+++++++++++++++++++++++++++++++++++++++
A
File360/File.cs
|
14
++++++++++++++
M
File360/File360.csproj
|
486
++++++++++++++++++++++++++++++++++++++++---------------------------------------
A
File360/File360.csproj.user
|
25
+++++++++++++++++++++++++
A
File360/FileLister.cs
|
310
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A
File360/GeneralSettings.xaml
|
62
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A
File360/GeneralSettings.xaml.cs
|
44
++++++++++++++++++++++++++++++++++++++++++++
A
File360/HelpPage.xaml
|
52
++++++++++++++++++++++++++++++++++++++++++++++++++++
A
File360/HelpPage.xaml.cs
|
40
++++++++++++++++++++++++++++++++++++++++
A
File360/IntToNegativeIntConverter.cs
|
26
++++++++++++++++++++++++++
M
File360/MainPage.xaml
|
1491
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----------
M
File360/MainPage.xaml.cs
|
2920
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------
A
File360/MarqueeText.xaml
|
13
+++++++++++++
A
File360/MarqueeText.xaml.cs
|
27
+++++++++++++++++++++++++++
A
File360/MessageBox.xaml
|
50
++++++++++++++++++++++++++++++++++++++++++++++++++
A
File360/MessageBox.xaml.cs
|
97
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A
File360/OccupyStack.cs
|
34
++++++++++++++++++++++++++++++++++
M
File360/Package.appxmanifest
|
58
+++++++++++++++++++++++-----------------------------------
M
File360/Properties/AssemblyInfo.cs
|
22
+++++++---------------
A
File360/ReadMe.Coding4Fun.Toolkit.txt
|
9
+++++++++
A
File360/SelectorItemEx.cs
|
61
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
M
File360/SettingsPage.xaml
|
183
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------
M
File360/SettingsPage.xaml.cs
|
232
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------
A
File360/Shade.cs
|
229
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A
File360/SideBarMenuButton.xaml
|
25
+++++++++++++++++++++++++
A
File360/SideBarMenuButton.xaml.cs
|
44
++++++++++++++++++++++++++++++++++++++++++++
A
File360/StoreManifest.xml
|
6
++++++
A
File360/Strings/en-US/Resources.resw
|
151
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A
File360/Utility/Helper/NativeOperationsHelper.cs
|
86
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A
File360/Utility/Helper/SecurityAccessDeniedException.cs
|
20
++++++++++++++++++++
M
File360/VaultPage.xaml
|
142
+++++++++++++++++++++++++++++++++++++------------------------------------------
M
File360/VaultPage.xaml.cs
|
148
+++++++++++++++++++++++++++++++------------------------------------------------
A
File360/VideoList.cs
|
33
+++++++++++++++++++++++++++++++++
A
File360/VideoPage.xaml
|
213
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A
File360/VideoPage.xaml.cs
|
172
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
M
File360/musiclist.cs
|
61
++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----
M
File360/packages.config
|
5
++++-
M
File360/picturelist.cs
|
24
+++++++++++++++++++++++-
M
File360/sdlist.cs
|
165
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----
diff --git a/.gitignore b/.gitignore
@@ -0,0 +1,2 @@
+.vs/
+Thumbs.db
diff --git a/File360.sln b/File360.sln
@@ -1,7 +1,9 @@
 
 Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio Express 2012 for Windows Phone
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "File360", "File360\File360.csproj", "{6DB737B7-6D8E-4901-86A4-3110A717C72F}"
+# Visual Studio 14
+VisualStudioVersion = 14.0.23107.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "File360", "File360\File360.csproj", "{08490F1C-404B-4B58-B97E-C23BB7A1B31D}"
 EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution

@@ -13,24 +15,24 @@ Global
 		Release|x86 = Release|x86
 	EndGlobalSection
 	GlobalSection(ProjectConfigurationPlatforms) = postSolution
-		{6DB737B7-6D8E-4901-86A4-3110A717C72F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{6DB737B7-6D8E-4901-86A4-3110A717C72F}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{6DB737B7-6D8E-4901-86A4-3110A717C72F}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
-		{6DB737B7-6D8E-4901-86A4-3110A717C72F}.Debug|ARM.ActiveCfg = Debug|ARM
-		{6DB737B7-6D8E-4901-86A4-3110A717C72F}.Debug|ARM.Build.0 = Debug|ARM
-		{6DB737B7-6D8E-4901-86A4-3110A717C72F}.Debug|ARM.Deploy.0 = Debug|ARM
-		{6DB737B7-6D8E-4901-86A4-3110A717C72F}.Debug|x86.ActiveCfg = Debug|x86
-		{6DB737B7-6D8E-4901-86A4-3110A717C72F}.Debug|x86.Build.0 = Debug|x86
-		{6DB737B7-6D8E-4901-86A4-3110A717C72F}.Debug|x86.Deploy.0 = Debug|x86
-		{6DB737B7-6D8E-4901-86A4-3110A717C72F}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{6DB737B7-6D8E-4901-86A4-3110A717C72F}.Release|Any CPU.Build.0 = Release|Any CPU
-		{6DB737B7-6D8E-4901-86A4-3110A717C72F}.Release|Any CPU.Deploy.0 = Release|Any CPU
-		{6DB737B7-6D8E-4901-86A4-3110A717C72F}.Release|ARM.ActiveCfg = Release|ARM
-		{6DB737B7-6D8E-4901-86A4-3110A717C72F}.Release|ARM.Build.0 = Release|ARM
-		{6DB737B7-6D8E-4901-86A4-3110A717C72F}.Release|ARM.Deploy.0 = Release|ARM
-		{6DB737B7-6D8E-4901-86A4-3110A717C72F}.Release|x86.ActiveCfg = Release|x86
-		{6DB737B7-6D8E-4901-86A4-3110A717C72F}.Release|x86.Build.0 = Release|x86
-		{6DB737B7-6D8E-4901-86A4-3110A717C72F}.Release|x86.Deploy.0 = Release|x86
+		{08490F1C-404B-4B58-B97E-C23BB7A1B31D}.Debug|Any CPU.ActiveCfg = Release|ARM
+		{08490F1C-404B-4B58-B97E-C23BB7A1B31D}.Debug|Any CPU.Build.0 = Release|ARM
+		{08490F1C-404B-4B58-B97E-C23BB7A1B31D}.Debug|Any CPU.Deploy.0 = Release|ARM
+		{08490F1C-404B-4B58-B97E-C23BB7A1B31D}.Debug|ARM.ActiveCfg = Debug|ARM
+		{08490F1C-404B-4B58-B97E-C23BB7A1B31D}.Debug|ARM.Build.0 = Debug|ARM
+		{08490F1C-404B-4B58-B97E-C23BB7A1B31D}.Debug|ARM.Deploy.0 = Debug|ARM
+		{08490F1C-404B-4B58-B97E-C23BB7A1B31D}.Debug|x86.ActiveCfg = Debug|x86
+		{08490F1C-404B-4B58-B97E-C23BB7A1B31D}.Debug|x86.Build.0 = Debug|x86
+		{08490F1C-404B-4B58-B97E-C23BB7A1B31D}.Debug|x86.Deploy.0 = Debug|x86
+		{08490F1C-404B-4B58-B97E-C23BB7A1B31D}.Release|Any CPU.ActiveCfg = Debug|Any CPU
+		{08490F1C-404B-4B58-B97E-C23BB7A1B31D}.Release|Any CPU.Build.0 = Debug|Any CPU
+		{08490F1C-404B-4B58-B97E-C23BB7A1B31D}.Release|Any CPU.Deploy.0 = Debug|Any CPU
+		{08490F1C-404B-4B58-B97E-C23BB7A1B31D}.Release|ARM.ActiveCfg = Release|ARM
+		{08490F1C-404B-4B58-B97E-C23BB7A1B31D}.Release|ARM.Build.0 = Release|ARM
+		{08490F1C-404B-4B58-B97E-C23BB7A1B31D}.Release|ARM.Deploy.0 = Release|ARM
+		{08490F1C-404B-4B58-B97E-C23BB7A1B31D}.Release|x86.ActiveCfg = Release|x86
+		{08490F1C-404B-4B58-B97E-C23BB7A1B31D}.Release|x86.Build.0 = Release|x86
+		{08490F1C-404B-4B58-B97E-C23BB7A1B31D}.Release|x86.Deploy.0 = Release|x86
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE
diff --git a/File360/Addresser.cs b/File360/Addresser.cs
@@ -0,0 +1,82 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Windows.UI.Xaml;
+using Windows.UI.Xaml.Controls;
+using Windows.UI.Xaml.Media;
+using WinRTXamlToolkit.Controls;
+namespace File360
+{
+    public class Addresser:StackPanel
+    {
+        public bool root = true;
+        public void InitializeComponent()
+        {
+            HorizontalAlignment = Windows.UI.Xaml.HorizontalAlignment.Left;
+            VerticalAlignment = Windows.UI.Xaml.VerticalAlignment.Center;
+            Orientation = Windows.UI.Xaml.Controls.Orientation.Horizontal;
+            //StackPanel stk = new StackPanel();
+            //stk.Orientation = Windows.UI.Xaml.Controls.Orientation.Horizontal;
+            //TextBlock content = new TextBlock();
+            //TextBlock txt = new TextBlock();
+            //stk.Children.Add(content);
+            //stk.Children.Add(txt);
+            //prev.Content = stk;
+
+        }
+
+        public bool Root
+        {
+            get { return root; }
+            set { root = value; }
+        }
+
+        public void Address(string value, string path)
+        {
+            Button current = new Button();
+            current.BorderThickness = new Thickness(0);
+            StackPanel currentStk = new StackPanel();
+            currentStk.Orientation = Windows.UI.Xaml.Controls.Orientation.Horizontal;
+            TextBlock content = new TextBlock();
+            TextBlock txtH = new TextBlock();
+            current.Content = currentStk;
+            txtH.FontFamily = new FontFamily("Assets/Font/iconFont.ttf#iconfont");
+            txtH.Text = ".";
+            txtH.VerticalAlignment = Windows.UI.Xaml.VerticalAlignment.Center;
+            txtH.FontSize = 10;
+            //txtH.Foreground = (SolidColorBrush)Application.Current.Resources["PhoneAccentBrush"];
+            //content.FontFamily = new FontFamily("Assets/Font/Custom/Raleway-Light.ttf#Raleway");
+            content.TextLineBounds = TextLineBounds.Tight;
+            content.TextAlignment = TextAlignment.Center;
+            content.Text = value;
+            currentStk.Children.Add(content);
+            currentStk.Children.Add(txtH);
+            current.Background = null;
+            current.Height = this.ActualHeight;
+            current.MinWidth = 0;
+            current.Tag = path;
+            Children.Add(current);
+            root = false;
+        }
+        public void Reset()
+        {
+            Children.Clear();
+        }
+        public void RemoveLast()
+        {
+            Children.RemoveAt(Children.Count - 1);
+            if (Children.Count == 0) root = true;
+            else root = false;
+        }
+        public void SelectedFolder(int foldersNo)
+        {
+            for (int i = Children.Count-1; i < (Children.Count-foldersNo-1); i--)
+            {
+                Children.RemoveAt(i);
+            }
+        }
+        
+    }
+}
diff --git a/File360/App.xaml b/File360/App.xaml
@@ -1,693 +1,1478 @@
 <Application
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
-    xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
-    xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:ec="clr-namespace:Microsoft.Expression.Interactivity.Core;assembly=Microsoft.Expression.Interactions" xmlns:es="clr-namespace:Microsoft.Expression.Shapes;assembly=Microsoft.Expression.Drawing" mc:Ignorable="d"
+    xmlns:local="using:File360" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:Controls="using:WinRTXamlToolkit.Controls" xmlns:Interactivity="using:WinRTXamlToolkit.Interactivity" xmlns:Behaviors="using:WinRTXamlToolkit.Controls.Behaviors" mc:Ignorable="d"
     x:Class="File360.App"
     >
-
-    <!--Application Resources-->
     <Application.Resources>
-        <local:LocalizedStrings xmlns:local="clr-namespace:File360" x:Key="LocalizedStrings"/>
-        
-        <Style x:Key="SideMenuInitiater" TargetType="Button">
-        	<Setter Property="Background" Value="Transparent"/>
-        	<Setter Property="BorderBrush" Value="{StaticResource PhoneForegroundBrush}"/>
-        	<Setter Property="Foreground" Value="{StaticResource PhoneForegroundBrush}"/>
-        	<Setter Property="BorderThickness" Value="{StaticResource PhoneBorderThickness}"/>
-        	<Setter Property="FontFamily" Value="{StaticResource PhoneFontFamilySemiBold}"/>
-        	<Setter Property="FontSize" Value="{StaticResource PhoneFontSizeMedium}"/>
-        	<Setter Property="Padding" Value="10,5,10,6"/>
-        	<Setter Property="Template">
-        		<Setter.Value>
-        			<ControlTemplate TargetType="Button">
-        				<Grid Background="Transparent">
-        					<VisualStateManager.VisualStateGroups>
-        						<VisualStateGroup x:Name="CommonStates" ec:ExtendedVisualStateManager.UseFluidLayout="True">
-        							<VisualStateGroup.Transitions>
-        								<VisualTransition/>
-        							</VisualStateGroup.Transitions>
-        							<VisualState x:Name="Normal"/>
-        							<VisualState x:Name="MouseOver">
-        								<Storyboard>
-        									<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(Shape.Fill)" Storyboard.TargetName="rectangle">
-        										<DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource PhoneInverseBackgroundBrush}"/>
-        									</ObjectAnimationUsingKeyFrames>
-        									<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(Shape.Fill)" Storyboard.TargetName="rectangle1">
-        										<DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource PhoneInverseBackgroundBrush}"/>
-        									</ObjectAnimationUsingKeyFrames>
-        									<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(Shape.Fill)" Storyboard.TargetName="rectangle2">
-        										<DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource PhoneInverseBackgroundBrush}"/>
-        									</ObjectAnimationUsingKeyFrames>
-        								</Storyboard>
-        							</VisualState>
-        							<VisualState x:Name="Pressed">
-        								<Storyboard>
-        									<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(FrameworkElement.Margin)" Storyboard.TargetName="ButtonBackground">
-        										<DiscreteObjectKeyFrame KeyTime="0">
-        											<DiscreteObjectKeyFrame.Value>
-        												<Thickness>12</Thickness>
-        											</DiscreteObjectKeyFrame.Value>
-        										</DiscreteObjectKeyFrame>
-        									</ObjectAnimationUsingKeyFrames>
-        									<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(Shape.Fill)" Storyboard.TargetName="rectangle">
-        										<DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource PhoneInverseBackgroundBrush}"/>
-        									</ObjectAnimationUsingKeyFrames>
-        									<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(Shape.Fill)" Storyboard.TargetName="rectangle1">
-        										<DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource PhoneInverseBackgroundBrush}"/>
-        									</ObjectAnimationUsingKeyFrames>
-        									<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(Shape.Fill)" Storyboard.TargetName="rectangle2">
-        										<DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource PhoneInverseBackgroundBrush}"/>
-        									</ObjectAnimationUsingKeyFrames>
-        								</Storyboard>
-        							</VisualState>
-        							<VisualState x:Name="Disabled">
-        								<Storyboard>
-        									<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="BorderBrush" Storyboard.TargetName="ButtonBackground">
-        										<DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource PhoneDisabledBrush}"/>
-        									</ObjectAnimationUsingKeyFrames>
-        								</Storyboard>
-        							</VisualState>
-        						</VisualStateGroup>
-        					</VisualStateManager.VisualStateGroups>
-        					<VisualStateManager.CustomVisualStateManager>
-        						<ec:ExtendedVisualStateManager/>
-        					</VisualStateManager.CustomVisualStateManager>
-        					<Rectangle x:Name="rectangle2" Fill="{StaticResource PhoneAccentBrush}" HorizontalAlignment="Left" Height="3" Margin="15,16,0,0" VerticalAlignment="Top" Width="33"/>
-        					<Rectangle x:Name="rectangle1" Fill="{StaticResource PhoneAccentBrush}" HorizontalAlignment="Left" Height="3" Margin="15,22,0,0" VerticalAlignment="Top" Width="33"/>
-        					<Rectangle x:Name="rectangle" Fill="{StaticResource PhoneAccentBrush}" HorizontalAlignment="Left" Height="3" Margin="15,28,0,0" VerticalAlignment="Top" Width="33"/>
-        					<Border x:Name="ButtonBackground" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="0" Margin="{StaticResource PhoneTouchTargetOverhang}"/>
-        				</Grid>
-        			</ControlTemplate>
-        		</Setter.Value>
-        	</Setter>
+
+        <Thickness x:Key="PhoneBorderThickness">2.5</Thickness>
+        <FontFamily x:Key="PhoneFontFamilyNormal">Segoe WP</FontFamily>
+        <FontWeight x:Key="PhoneButtonFontWeight">Semibold</FontWeight>
+        <x:Double x:Key="TextStyleLargeFontSize">18.14</x:Double>
+        <Thickness x:Key="PhoneButtonContentPadding">9.5,0,9.5,3.5</Thickness>
+        <x:Double x:Key="PhoneButtonMinHeight">57.5</x:Double>
+        <x:Double x:Key="PhoneButtonMinWidth">109</x:Double>
+        <Thickness x:Key="PhoneTouchTargetOverhang">0,9.5</Thickness>
+
+        <Style x:Key="ToggleButtonTemplate" TargetType="ToggleButton">
+            <Setter Property="Background" Value="Transparent"/>
+            <Setter Property="BorderBrush" Value="{ThemeResource PhoneForegroundBrush}"/>
+            <Setter Property="Foreground" Value="{ThemeResource PhoneForegroundBrush}"/>
+            <Setter Property="BorderThickness" Value="{ThemeResource PhoneBorderThickness}"/>
+            <Setter Property="FontFamily" Value="{ThemeResource PhoneFontFamilyNormal}"/>
+            <Setter Property="FontWeight" Value="{ThemeResource PhoneButtonFontWeight}"/>
+            <Setter Property="FontSize" Value="{ThemeResource TextStyleLargeFontSize}"/>
+            <Setter Property="Padding" Value="{ThemeResource PhoneButtonContentPadding}"/>
+            <Setter Property="MinHeight" Value="{ThemeResource PhoneButtonMinHeight}"/>
+            <Setter Property="MinWidth" Value="{ThemeResource PhoneButtonMinWidth}"/>
+            <Setter Property="HorizontalAlignment" Value="Left"/>
+            <Setter Property="VerticalAlignment" Value="Center"/>
+            <Setter Property="Template">
+                <Setter.Value>
+                    <ControlTemplate TargetType="ToggleButton">
+                        <Grid Background="Transparent">
+                            <VisualStateManager.VisualStateGroups>
+                                <VisualStateGroup x:Name="CommonStates">
+                                    <VisualState x:Name="Normal"/>
+                                    <VisualState x:Name="PointerOver"/>
+                                    <VisualState x:Name="Pressed"/>
+                                    <VisualState x:Name="Disabled">
+                                        <Storyboard>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility" Storyboard.TargetName="EnabledBackground">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="Collapsed"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility" Storyboard.TargetName="DisabledBackground">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="Visible"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                        </Storyboard>
+                                    </VisualState>
+                                    <VisualState x:Name="Checked">
+                                        <Storyboard>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Background" Storyboard.TargetName="EnabledBackground">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{x:Null}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="EnabledContent">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource PhoneAccentBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Background" Storyboard.TargetName="DisabledBackground">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource PhoneDisabledBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="BorderBrush" Storyboard.TargetName="DisabledBackground">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource PhoneDisabledBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="DisabledContent">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource PhoneBackgroundBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                        </Storyboard>
+                                    </VisualState>
+                                    <VisualState x:Name="CheckedPointerOver">
+                                        <Storyboard>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Background" Storyboard.TargetName="EnabledBackground">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource PhoneAccentBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="EnabledContent">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource PhoneButtonBasePressedForegroundBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Background" Storyboard.TargetName="DisabledBackground">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource PhoneDisabledBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="BorderBrush" Storyboard.TargetName="DisabledBackground">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource PhoneDisabledBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="DisabledContent">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource PhoneBackgroundBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                        </Storyboard>
+                                    </VisualState>
+                                    <VisualState x:Name="CheckedPressed"/>
+                                    <VisualState x:Name="CheckedDisabled">
+                                        <Storyboard>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Background" Storyboard.TargetName="EnabledBackground">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource PhoneAccentBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Opacity" Storyboard.TargetName="EnabledBackground">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="0.4"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="EnabledContent">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource PhoneButtonBasePressedForegroundBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                        </Storyboard>
+                                    </VisualState>
+                                    <VisualState x:Name="Indeterminate"/>
+                                    <VisualState x:Name="IndeterminatePointerOver"/>
+                                    <VisualState x:Name="IndeterminatePressed"/>
+                                    <VisualState x:Name="IndeterminateDisabled">
+                                        <Storyboard>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility" Storyboard.TargetName="EnabledBackground">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="Collapsed"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility" Storyboard.TargetName="DisabledBackground">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="Visible"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                        </Storyboard>
+                                    </VisualState>
+                                </VisualStateGroup>
+                            </VisualStateManager.VisualStateGroups>
+                            <Border x:Name="EnabledBackground" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Margin="{ThemeResource PhoneTouchTargetOverhang}">
+                                <ContentPresenter x:Name="EnabledContent" AutomationProperties.AccessibilityView="Raw" ContentTemplate="{TemplateBinding ContentTemplate}" Content="{TemplateBinding Content}" Foreground="{TemplateBinding Foreground}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="-2.5,-0.5,-2.333,-2.5" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" Width="109" Height="63"/>
+                            </Border>
+                            <Border x:Name="DisabledBackground" BorderBrush="{ThemeResource ButtonDisabledBorderThemeBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="Transparent" IsHitTestVisible="False" Margin="{ThemeResource PhoneTouchTargetOverhang}" Visibility="Collapsed">
+                                <ContentPresenter x:Name="DisabledContent" AutomationProperties.AccessibilityView="Raw" ContentTemplate="{TemplateBinding ContentTemplate}" Content="{TemplateBinding Content}" Foreground="{ThemeResource ButtonDisabledForegroundThemeBrush}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
+                            </Border>
+                        </Grid>
+                    </ControlTemplate>
+                </Setter.Value>
+            </Setter>
+        </Style>
+        <Style x:Key="SideBarButton" TargetType="ToggleButton">
+            <Setter Property="Background" Value="Transparent"/>
+            <Setter Property="BorderBrush" Value="{ThemeResource PhoneForegroundBrush}"/>
+            <Setter Property="Foreground" Value="{ThemeResource PhoneForegroundBrush}"/>
+            <Setter Property="BorderThickness" Value="{ThemeResource PhoneBorderThickness}"/>
+            <Setter Property="FontFamily" Value="{ThemeResource PhoneFontFamilyNormal}"/>
+            <Setter Property="FontWeight" Value="{ThemeResource PhoneButtonFontWeight}"/>
+            <Setter Property="FontSize" Value="{ThemeResource TextStyleLargeFontSize}"/>
+            <Setter Property="Padding" Value="{ThemeResource PhoneButtonContentPadding}"/>
+            <Setter Property="MinHeight" Value="{ThemeResource PhoneButtonMinHeight}"/>
+            <Setter Property="MinWidth" Value="{ThemeResource PhoneButtonMinWidth}"/>
+            <Setter Property="HorizontalAlignment" Value="Left"/>
+            <Setter Property="VerticalAlignment" Value="Center"/>
+            <Setter Property="Template">
+                <Setter.Value>
+                    <ControlTemplate TargetType="ToggleButton">
+                        <Grid x:Name="grid" Background="Transparent">
+                            <VisualStateManager.VisualStateGroups>
+                                <VisualStateGroup x:Name="CommonStates">
+                                    <VisualState x:Name="Normal"/>
+                                    <VisualState x:Name="PointerOver"/>
+                                    <VisualState x:Name="Pressed"/>
+                                    <VisualState x:Name="Disabled">
+                                        <Storyboard>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility" Storyboard.TargetName="EnabledBackground">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="Collapsed"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility" Storyboard.TargetName="DisabledBackground">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="Visible"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                        </Storyboard>
+                                    </VisualState>
+                                    <VisualState x:Name="Checked">
+                                        <Storyboard>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Background" Storyboard.TargetName="EnabledBackground">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource PhoneAccentBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="EnabledContent">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource PhoneButtonBasePressedForegroundBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Background" Storyboard.TargetName="DisabledBackground">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource PhoneDisabledBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="BorderBrush" Storyboard.TargetName="DisabledBackground">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource PhoneDisabledBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="DisabledContent">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource PhoneBackgroundBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                        </Storyboard>
+                                    </VisualState>
+                                    <VisualState x:Name="CheckedPointerOver">
+                                        <Storyboard>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Background" Storyboard.TargetName="EnabledBackground">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource PhoneAccentBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="EnabledContent">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource PhoneButtonBasePressedForegroundBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Background" Storyboard.TargetName="DisabledBackground">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource PhoneDisabledBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="BorderBrush" Storyboard.TargetName="DisabledBackground">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource PhoneDisabledBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="DisabledContent">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource PhoneBackgroundBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                        </Storyboard>
+                                    </VisualState>
+                                    <VisualState x:Name="CheckedPressed"/>
+                                    <VisualState x:Name="CheckedDisabled">
+                                        <Storyboard>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Background" Storyboard.TargetName="EnabledBackground">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource PhoneAccentBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Opacity" Storyboard.TargetName="EnabledBackground">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="0.4"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="EnabledContent">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource PhoneButtonBasePressedForegroundBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                        </Storyboard>
+                                    </VisualState>
+                                    <VisualState x:Name="Indeterminate"/>
+                                    <VisualState x:Name="IndeterminatePointerOver"/>
+                                    <VisualState x:Name="IndeterminatePressed"/>
+                                    <VisualState x:Name="IndeterminateDisabled">
+                                        <Storyboard>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility" Storyboard.TargetName="EnabledBackground">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="Collapsed"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility" Storyboard.TargetName="DisabledBackground">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="Visible"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                        </Storyboard>
+                                    </VisualState>
+                                </VisualStateGroup>
+                            </VisualStateManager.VisualStateGroups>
+                            <Border x:Name="EnabledBackground" Background="{TemplateBinding Background}" Height="{TemplateBinding Height}">
+                                <ContentPresenter x:Name="EnabledContent" AutomationProperties.AccessibilityView="Raw" ContentTemplate="{TemplateBinding ContentTemplate}" Content="{TemplateBinding Content}" Foreground="{TemplateBinding Foreground}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
+                            </Border>
+                            <Border x:Name="DisabledBackground" BorderBrush="{ThemeResource ButtonDisabledBorderThemeBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="Transparent" IsHitTestVisible="False" Margin="{ThemeResource PhoneTouchTargetOverhang}" Visibility="Collapsed">
+                                <ContentPresenter x:Name="DisabledContent" AutomationProperties.AccessibilityView="Raw" ContentTemplate="{TemplateBinding ContentTemplate}" Content="{TemplateBinding Content}" Foreground="{ThemeResource ButtonDisabledForegroundThemeBrush}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
+                            </Border>
+                        </Grid>
+                    </ControlTemplate>
+                </Setter.Value>
+            </Setter>
+        </Style>
+
+        <SolidColorBrush x:Key="ButtonDisabledBackgroundThemeBrush" Color="Transparent"/>
+
+        <Style x:Key="DialogBoxButton" TargetType="Button">
+            <Setter Property="Background" Value="Transparent"/>
+            <Setter Property="BorderBrush" Value="{ThemeResource PhoneForegroundBrush}"/>
+            <Setter Property="Foreground" Value="{ThemeResource PhoneForegroundBrush}"/>
+            <Setter Property="BorderThickness" Value="{ThemeResource PhoneBorderThickness}"/>
+            <Setter Property="FontFamily" Value="{ThemeResource PhoneFontFamilyNormal}"/>
+            <Setter Property="FontWeight" Value="{ThemeResource PhoneButtonFontWeight}"/>
+            <Setter Property="FontSize" Value="{ThemeResource TextStyleLargeFontSize}"/>
+            <Setter Property="Padding" Value="{ThemeResource PhoneButtonContentPadding}"/>
+            <Setter Property="MinHeight" Value="{ThemeResource PhoneButtonMinHeight}"/>
+            <Setter Property="MinWidth" Value="{ThemeResource PhoneButtonMinWidth}"/>
+            <Setter Property="HorizontalAlignment" Value="Left"/>
+            <Setter Property="VerticalAlignment" Value="Center"/>
+            <Setter Property="Template">
+                <Setter.Value>
+                    <ControlTemplate TargetType="Button">
+                        <Grid x:Name="Grid" Background="Transparent">
+                            <VisualStateManager.VisualStateGroups>
+                                <VisualStateGroup x:Name="CommonStates">
+                                    <VisualStateGroup.Transitions>
+                                        <VisualTransition From="Pressed" To="PointerOver">
+                                            <Storyboard>
+                                                <PointerUpThemeAnimation Storyboard.TargetName="Grid"/>
+                                            </Storyboard>
+                                        </VisualTransition>
+                                        <VisualTransition From="PointerOver" To="Normal">
+                                            <Storyboard>
+                                                <PointerUpThemeAnimation Storyboard.TargetName="Grid"/>
+                                            </Storyboard>
+                                        </VisualTransition>
+                                        <VisualTransition From="Pressed" To="Normal">
+                                            <Storyboard>
+                                                <PointerUpThemeAnimation Storyboard.TargetName="Grid"/>
+                                            </Storyboard>
+                                        </VisualTransition>
+                                    </VisualStateGroup.Transitions>
+                                    <VisualState x:Name="Normal"/>
+                                    <VisualState x:Name="PointerOver"/>
+                                    <VisualState x:Name="Pressed">
+                                        <Storyboard>
+                                            <PointerDownThemeAnimation Storyboard.TargetName="Grid"/>
+                                        </Storyboard>
+                                    </VisualState>
+                                    <VisualState x:Name="Disabled">
+                                        <Storyboard>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="ContentPresenter">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource ButtonDisabledForegroundThemeBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Background" Storyboard.TargetName="Border">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource ButtonDisabledBackgroundThemeBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                        </Storyboard>
+                                    </VisualState>
+                                </VisualStateGroup>
+                            </VisualStateManager.VisualStateGroups>
+                            <Border x:Name="Border" BorderBrush="{TemplateBinding Background}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" RenderTransformOrigin="0.5,0.5">
+                                <Border.Projection>
+                                    <PlaneProjection/>
+                                </Border.Projection>
+                                <Border.RenderTransform>
+                                    <CompositeTransform/>
+                                </Border.RenderTransform>
+                                <ContentPresenter x:Name="ContentPresenter" AutomationProperties.AccessibilityView="Raw" ContentTemplate="{TemplateBinding ContentTemplate}" Content="{TemplateBinding Content}" Foreground="{TemplateBinding Foreground}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
+                            </Border>
+                        </Grid>
+                    </ControlTemplate>
+                </Setter.Value>
+            </Setter>
+        </Style>
+        <Style TargetType="Button">
+            <Setter Property="Background" Value="Transparent"/>
+            <Setter Property="BorderBrush" Value="{ThemeResource PhoneForegroundBrush}"/>
+            <Setter Property="Foreground" Value="{ThemeResource PhoneForegroundBrush}"/>
+            <Setter Property="BorderThickness" Value="{ThemeResource PhoneBorderThickness}"/>
+            <Setter Property="FontFamily" Value="{ThemeResource PhoneFontFamilyNormal}"/>
+            <Setter Property="FontWeight" Value="{ThemeResource PhoneButtonFontWeight}"/>
+            <Setter Property="FontSize" Value="{ThemeResource TextStyleLargeFontSize}"/>
+            <Setter Property="Padding" Value="{ThemeResource PhoneButtonContentPadding}"/>
+            <Setter Property="MinHeight" Value="{ThemeResource PhoneButtonMinHeight}"/>
+            <Setter Property="MinWidth" Value="{ThemeResource PhoneButtonMinWidth}"/>
+            <Setter Property="HorizontalAlignment" Value="Left"/>
+            <Setter Property="VerticalAlignment" Value="Center"/>
+            <Setter Property="Template">
+                <Setter.Value>
+                    <ControlTemplate TargetType="Button">
+                        <Grid x:Name="Grid" Background="Transparent">
+                            <VisualStateManager.VisualStateGroups>
+                                <VisualStateGroup x:Name="CommonStates">
+                                    <VisualStateGroup.Transitions>
+                                        <VisualTransition From="Pressed" To="PointerOver">
+                                            <Storyboard>
+                                                <PointerUpThemeAnimation Storyboard.TargetName="Grid"/>
+                                            </Storyboard>
+                                        </VisualTransition>
+                                        <VisualTransition From="PointerOver" To="Normal">
+                                            <Storyboard>
+                                                <PointerUpThemeAnimation Storyboard.TargetName="Grid"/>
+                                            </Storyboard>
+                                        </VisualTransition>
+                                        <VisualTransition From="Pressed" To="Normal">
+                                            <Storyboard>
+                                                <PointerUpThemeAnimation Storyboard.TargetName="Grid"/>
+                                                <DoubleAnimation Duration="0:0:0.1" To="1" Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="ContentPresenter">
+                                                    <DoubleAnimation.EasingFunction>
+                                                        <CircleEase EasingMode="EaseOut"/>
+                                                    </DoubleAnimation.EasingFunction>
+                                                </DoubleAnimation>
+                                            </Storyboard>
+                                        </VisualTransition>
+                                    </VisualStateGroup.Transitions>
+                                    <VisualState x:Name="Normal"/>
+                                    <VisualState x:Name="PointerOver"/>
+                                    <VisualState x:Name="Pressed">
+                                        <Storyboard>
+                                            <DoubleAnimation Duration="0:0:0.2" To="0.5" Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="ContentPresenter" d:IsOptimized="True">
+                                                <DoubleAnimation.EasingFunction>
+                                                    <CubicEase EasingMode="EaseOut"/>
+                                                </DoubleAnimation.EasingFunction>
+                                            </DoubleAnimation>
+                                        </Storyboard>
+                                    </VisualState>
+                                    <VisualState x:Name="Disabled">
+                                        <Storyboard>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="ContentPresenter">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource ButtonDisabledForegroundThemeBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="BorderBrush" Storyboard.TargetName="Border">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource ButtonDisabledBorderThemeBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Background" Storyboard.TargetName="Border">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource ButtonDisabledBackgroundThemeBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                        </Storyboard>
+                                    </VisualState>
+                                </VisualStateGroup>
+                            </VisualStateManager.VisualStateGroups>
+                            <Border x:Name="Border" BorderBrush="{TemplateBinding BorderBrush}" Background="{TemplateBinding Background}">
+                                <ContentPresenter x:Name="ContentPresenter" AutomationProperties.AccessibilityView="Raw" ContentTemplate="{TemplateBinding ContentTemplate}" Content="{TemplateBinding Content}" Foreground="{TemplateBinding Foreground}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
+                            </Border>
+                        </Grid>
+                    </ControlTemplate>
+                </Setter.Value>
+            </Setter>
+        </Style>
+        <Style x:Key="DefaultToggleButton" TargetType="ToggleButton">
+            <Setter Property="Background" Value="Transparent"/>
+            <Setter Property="BorderBrush" Value="{ThemeResource PhoneForegroundBrush}"/>
+            <Setter Property="Foreground" Value="{ThemeResource PhoneForegroundBrush}"/>
+            <Setter Property="BorderThickness" Value="{ThemeResource PhoneBorderThickness}"/>
+            <Setter Property="FontFamily" Value="{ThemeResource PhoneFontFamilyNormal}"/>
+            <Setter Property="FontWeight" Value="{ThemeResource PhoneButtonFontWeight}"/>
+            <Setter Property="FontSize" Value="{ThemeResource TextStyleLargeFontSize}"/>
+            <Setter Property="Padding" Value="{ThemeResource PhoneButtonContentPadding}"/>
+            <Setter Property="MinHeight" Value="{ThemeResource PhoneButtonMinHeight}"/>
+            <Setter Property="MinWidth" Value="{ThemeResource PhoneButtonMinWidth}"/>
+            <Setter Property="HorizontalAlignment" Value="Left"/>
+            <Setter Property="VerticalAlignment" Value="Center"/>
+            <Setter Property="Template">
+                <Setter.Value>
+                    <ControlTemplate TargetType="ToggleButton">
+                        <Grid x:Name="Grid" Background="Transparent">
+                            <VisualStateManager.VisualStateGroups>
+                                <VisualStateGroup x:Name="CommonStates">
+                                    <VisualStateGroup.Transitions>
+                                        <VisualTransition From="Pressed" To="PointerOver">
+                                            <Storyboard>
+                                                <PointerUpThemeAnimation Storyboard.TargetName="Grid"/>
+                                            </Storyboard>
+                                        </VisualTransition>
+                                        <VisualTransition From="PointerOver" To="Normal">
+                                            <Storyboard>
+                                                <PointerUpThemeAnimation Storyboard.TargetName="Grid"/>
+                                            </Storyboard>
+                                        </VisualTransition>
+                                        <VisualTransition From="Pressed" To="Normal">
+                                            <Storyboard>
+                                                <PointerUpThemeAnimation Storyboard.TargetName="Grid"/>
+                                            </Storyboard>
+                                        </VisualTransition>
+                                    </VisualStateGroup.Transitions>
+                                    <VisualState x:Name="Normal"/>
+                                    <VisualState x:Name="PointerOver"/>
+                                    <VisualState x:Name="Pressed">
+                                        <Storyboard>
+                                            <!--<PointerDownThemeAnimation Storyboard.TargetName="Grid"/>-->
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="ContentPresenter">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource ButtonPressedForegroundThemeBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Background" Storyboard.TargetName="Border">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource AppBarItemDisabledForegroundThemeBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                        </Storyboard>
+                                    </VisualState>
+                                    <VisualState x:Name="Disabled">
+                                        <Storyboard>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="ContentPresenter">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource ButtonDisabledForegroundThemeBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="BorderBrush" Storyboard.TargetName="Border">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource ButtonDisabledBorderThemeBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Background" Storyboard.TargetName="Border">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource ButtonDisabledBackgroundThemeBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                        </Storyboard>
+                                    </VisualState>
+                                </VisualStateGroup>
+                            </VisualStateManager.VisualStateGroups>
+                            <Border x:Name="Border" BorderBrush="{TemplateBinding BorderBrush}" Background="{TemplateBinding Background}">
+                                <ContentPresenter x:Name="ContentPresenter" AutomationProperties.AccessibilityView="Raw" ContentTemplate="{TemplateBinding ContentTemplate}" Content="{TemplateBinding Content}" Foreground="{TemplateBinding Foreground}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
+                            </Border>
+                        </Grid>
+                    </ControlTemplate>
+                </Setter.Value>
+            </Setter>
+        </Style>
+        <x:Double x:Key="TextControlThemeMinWidth">51</x:Double>
+        <x:Double x:Key="TextControlThemeMinHeight">34</x:Double>
+        <Thickness x:Key="TextControlBorderThemeThickness">2.5</Thickness>
+        <x:Double x:Key="ContentControlFontSize">20.26</x:Double>
+        <Thickness x:Key="TextControlThemePadding">7,0.8,8,0</Thickness>
+        <Thickness x:Key="TextControlMarginThemeThickness">0,9.5,0,9.5</Thickness>
+        <Thickness x:Key="TextControlHeaderMarginThemeThickness">0,0,0,4.8</Thickness>
+        <SolidColorBrush x:Key="TextBoxDisabledBackgroundThemeBrush" Color="Transparent"/>
+        <x:Double x:Key="TextControlBorderThemeOpacity">0.8</x:Double>
+
+        <SolidColorBrush x:Key="SliderBorderThemeBrush" Color="Transparent"/>
+        <Thickness x:Key="SliderBorderThemeThickness">0</Thickness>
+        <FontFamily x:Key="ContentControlThemeFontFamily">Segoe WP</FontFamily>
+        <x:Double x:Key="ControlContentThemeFontSize">12</x:Double>
+        <x:Double x:Key="SliderOutsideTickBarThemeHeight">5</x:Double>
+        <x:Double x:Key="SliderTrackThemeHeight">9</x:Double>
+        <SolidColorBrush x:Key="SliderDisabledBorderThemeBrush" Color="Transparent"/>
+        <Style x:Key="SliderRing" TargetType="Slider">
+            <Setter Property="Background" Value="{ThemeResource SliderTrackBackgroundThemeBrush}"/>
+            <Setter Property="BorderBrush" Value="{ThemeResource SliderBorderThemeBrush}"/>
+            <Setter Property="BorderThickness" Value="{ThemeResource SliderBorderThemeThickness}"/>
+            <Setter Property="Foreground" Value="{ThemeResource SliderTrackDecreaseBackgroundThemeBrush}"/>
+            <Setter Property="FontFamily" Value="{ThemeResource ContentControlThemeFontFamily}"/>
+            <Setter Property="FontSize" Value="{ThemeResource ControlContentThemeFontSize}"/>
+            <Setter Property="ManipulationMode" Value="None"/>
+            <Setter Property="IsThumbToolTipEnabled" Value="False"/>
+            <Setter Property="Template">
+                <Setter.Value>
+                    <ControlTemplate TargetType="Slider">
+                        <Grid Margin="{TemplateBinding Padding}">
+                            <Grid.Resources>
+                                <Style x:Key="SliderThumbStyle" TargetType="Thumb">
+                                    <Setter Property="BorderThickness" Value="0.8"/>
+                                    <Setter Property="BorderBrush" Value="{ThemeResource SliderThumbBorderThemeBrush}"/>
+                                    <Setter Property="Background" Value="{ThemeResource SliderThumbBackgroundThemeBrush}"/>
+                                    <Setter Property="Template">
+                                        <Setter.Value>
+                                            <ControlTemplate TargetType="Thumb">
+                                                <Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}"/>
+                                            </ControlTemplate>
+                                        </Setter.Value>
+                                    </Setter>
+                                </Style>
+                            </Grid.Resources>
+                            <Grid.RowDefinitions>
+                                <RowDefinition Height="Auto"/>
+                                <RowDefinition Height="*"/>
+                            </Grid.RowDefinitions>
+                            <VisualStateManager.VisualStateGroups>
+                                <VisualStateGroup x:Name="CommonStates">
+                                    <VisualState x:Name="Normal"/>
+                                    <VisualState x:Name="Disabled">
+                                        <Storyboard>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Stroke" Storyboard.TargetName="VerticalBorder">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SliderDisabledBorderThemeBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Fill" Storyboard.TargetName="HorizontalDecreaseRect">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SliderTrackDecreaseDisabledBackgroundThemeBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Fill" Storyboard.TargetName="HorizontalTrackRect">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SliderTrackDisabledBackgroundThemeBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Stroke" Storyboard.TargetName="HorizontalTrackRect">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SliderTrackDisabledBorderThemeBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Fill" Storyboard.TargetName="VerticalDecreaseRect">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SliderTrackDecreaseDisabledBackgroundThemeBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Fill" Storyboard.TargetName="VerticalTrackRect">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SliderTrackDisabledBackgroundThemeBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Stroke" Storyboard.TargetName="VerticalTrackRect">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SliderTrackDisabledBorderThemeBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Background" Storyboard.TargetName="VerticalThumb">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SliderThumbDisabledBackgroundThemeBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="BorderBrush" Storyboard.TargetName="VerticalThumb">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SliderThumbDisabledBorderThemeBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Fill" Storyboard.TargetName="TopTickBar">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SliderTickMarkOutsideDisabledForegroundThemeBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Fill" Storyboard.TargetName="HorizontalInlineTickBar">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SliderTickMarkInlineDisabledForegroundThemeBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Fill" Storyboard.TargetName="BottomTickBar">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SliderTickMarkOutsideDisabledForegroundThemeBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Fill" Storyboard.TargetName="LeftTickBar">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SliderTickMarkOutsideDisabledForegroundThemeBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Fill" Storyboard.TargetName="VerticalInlineTickBar">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SliderTickMarkInlineDisabledForegroundThemeBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Fill" Storyboard.TargetName="RightTickBar">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SliderTickMarkOutsideDisabledForegroundThemeBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                        </Storyboard>
+                                    </VisualState>
+                                </VisualStateGroup>
+                            </VisualStateManager.VisualStateGroups>
+                            <ContentPresenter x:Name="HeaderContentPresenter" ContentTemplate="{TemplateBinding HeaderTemplate}" Content="{TemplateBinding Header}" Style="{StaticResource HeaderContentPresenterStyle}"/>
+                            <Grid x:Name="SliderContainer" Background="Transparent" Grid.Row="1">
+                                <Grid x:Name="HorizontalTemplate">
+                                    <Grid.ColumnDefinitions>
+                                        <ColumnDefinition Width="Auto"/>
+                                        <ColumnDefinition Width="Auto"/>
+                                        <ColumnDefinition Width="*"/>
+                                    </Grid.ColumnDefinitions>
+                                    <Grid.RowDefinitions>
+                                        <RowDefinition Height="17.5"/>
+                                        <RowDefinition Height="Auto"/>
+                                        <RowDefinition Height="30.5"/>
+                                    </Grid.RowDefinitions>
+                                    <Rectangle x:Name="HorizontalTrackRect" Grid.ColumnSpan="3" Fill="{TemplateBinding Background}" Grid.Row="1" Stroke="{ThemeResource SliderTrackBorderThemeBrush}"/>
+                                    <Rectangle x:Name="HorizontalDecreaseRect" Fill="{TemplateBinding Foreground}" Grid.Row="1"/>
+                                    <TickBar x:Name="TopTickBar" Grid.ColumnSpan="3" Fill="{ThemeResource SliderTickmarkOutsideBackgroundThemeBrush}" Height="{ThemeResource SliderOutsideTickBarThemeHeight}" Margin="-4.5,0" Visibility="Collapsed"/>
+                                    <TickBar x:Name="HorizontalInlineTickBar" Grid.ColumnSpan="3" Fill="{ThemeResource SliderTickMarkInlineBackgroundThemeBrush}" Height="{ThemeResource SliderTrackThemeHeight}" Margin="-4.5,0" Grid.Row="1" Visibility="Collapsed"/>
+                                    <TickBar x:Name="BottomTickBar" Grid.ColumnSpan="3" Fill="{ThemeResource SliderTickmarkOutsideBackgroundThemeBrush}" Height="{ThemeResource SliderOutsideTickBarThemeHeight}" Margin="-4.5,0" Grid.Row="2" Visibility="Collapsed"/>
+                                    <Ellipse x:Name="ellipse" Grid.ColumnSpan="3" Fill="{ThemeResource PhoneAccentBrush}" HorizontalAlignment="Left" Grid.RowSpan="3" Width="30" Height="{Binding Width, ElementName=ellipse}" StrokeThickness="7" Margin="0,15,0,30" RenderTransformOrigin="0.5,0.5">
+                                        <Ellipse.RenderTransform>
+                                            <CompositeTransform/>
+                                        </Ellipse.RenderTransform>
+                                        <Ellipse.Stroke>
+                                            <SolidColorBrush Color="{ThemeResource PhoneChromeColor}"/>
+                                        </Ellipse.Stroke>
+                                    </Ellipse>
+                                    <Thumb x:Name="HorizontalThumb" AutomationProperties.AccessibilityView="Raw" Grid.Column="1" DataContext="{TemplateBinding Value}" Style="{StaticResource SliderThumbStyle}" VerticalAlignment="Center" RenderTransformOrigin="0.5,0.5" Height="20" BorderBrush="{x:Null}" Grid.RowSpan="3" Margin="-4,-13,-30,7" d:LayoutOverrides="LeftPosition, RightPosition" Background="{x:Null}" Width="20" HorizontalAlignment="Center"/>
+                                    <Rectangle x:Name="HorizontalBorder" Grid.ColumnSpan="3" Grid.RowSpan="3" StrokeThickness="{TemplateBinding BorderThickness}" RadiusX="10"/>
+                                </Grid>
+                                <Grid x:Name="VerticalTemplate" Visibility="Collapsed">
+                                    <Grid.ColumnDefinitions>
+                                        <ColumnDefinition Width="13.5"/>
+                                        <ColumnDefinition Width="Auto"/>
+                                        <ColumnDefinition Width="13.5"/>
+                                    </Grid.ColumnDefinitions>
+                                    <Grid.RowDefinitions>
+                                        <RowDefinition Height="*"/>
+                                        <RowDefinition Height="Auto"/>
+                                        <RowDefinition Height="Auto"/>
+                                    </Grid.RowDefinitions>
+                                    <Rectangle x:Name="VerticalTrackRect" Grid.Column="1" Fill="{TemplateBinding Background}" Grid.RowSpan="3" Stroke="{ThemeResource SliderTrackBorderThemeBrush}"/>
+                                    <Rectangle x:Name="VerticalDecreaseRect" Grid.Column="1" Fill="{TemplateBinding Foreground}" Grid.Row="2"/>
+                                    <TickBar x:Name="LeftTickBar" Fill="{ThemeResource SliderTickmarkOutsideBackgroundThemeBrush}" HorizontalAlignment="Right" Margin="0,0,1.5,0" Grid.RowSpan="3" Visibility="Collapsed" Width="{ThemeResource SliderOutsideTickBarThemeHeight}"/>
+                                    <TickBar x:Name="VerticalInlineTickBar" Grid.Column="1" Fill="{ThemeResource SliderTickMarkInlineBackgroundThemeBrush}" Grid.RowSpan="3" Visibility="Collapsed" Width="{ThemeResource SliderTrackThemeHeight}"/>
+                                    <TickBar x:Name="RightTickBar" Grid.Column="2" Fill="{ThemeResource SliderTickmarkOutsideBackgroundThemeBrush}" HorizontalAlignment="Left" Margin="1.5,0,0,0" Grid.RowSpan="3" Visibility="Collapsed" Width="{ThemeResource SliderOutsideTickBarThemeHeight}"/>
+                                    <Thumb x:Name="VerticalThumb" AutomationProperties.AccessibilityView="Raw" Background="{ThemeResource SliderThumbBackgroundThemeBrush}" Grid.Column="1" DataContext="{TemplateBinding Value}" Height="{ThemeResource SliderTrackThemeHeight}" Grid.Row="1" Style="{StaticResource SliderThumbStyle}" Width="{ThemeResource SliderTrackThemeHeight}"/>
+                                    <Rectangle x:Name="VerticalBorder" Grid.Column="1" Grid.RowSpan="3" Stroke="{TemplateBinding BorderBrush}" StrokeThickness="{TemplateBinding BorderThickness}"/>
+                                </Grid>
+                            </Grid>
+                        </Grid>
+                    </ControlTemplate>
+                </Setter.Value>
+            </Setter>
+        </Style>
+        <Style x:Key="ToggleButtonStyle" TargetType="ToggleButton">
+            <Setter Property="Background" Value="Transparent"/>
+            <Setter Property="BorderBrush" Value="{ThemeResource PhoneForegroundBrush}"/>
+            <Setter Property="Foreground" Value="{ThemeResource PhoneForegroundBrush}"/>
+            <Setter Property="BorderThickness" Value="{ThemeResource PhoneBorderThickness}"/>
+            <Setter Property="FontFamily" Value="{ThemeResource PhoneFontFamilyNormal}"/>
+            <Setter Property="FontWeight" Value="{ThemeResource PhoneButtonFontWeight}"/>
+            <Setter Property="FontSize" Value="{ThemeResource TextStyleLargeFontSize}"/>
+            <Setter Property="Padding" Value="{ThemeResource PhoneButtonContentPadding}"/>
+            <Setter Property="MinHeight" Value="{ThemeResource PhoneButtonMinHeight}"/>
+            <Setter Property="MinWidth" Value="{ThemeResource PhoneButtonMinWidth}"/>
+            <Setter Property="HorizontalAlignment" Value="Left"/>
+            <Setter Property="VerticalAlignment" Value="Center"/>
+            <Setter Property="Template">
+                <Setter.Value>
+                    <ControlTemplate TargetType="ToggleButton">
+                        <Grid Background="Transparent">
+                            <VisualStateManager.VisualStateGroups>
+                                <VisualStateGroup x:Name="CommonStates">
+                                    <VisualState x:Name="Normal"/>
+                                    <VisualState x:Name="PointerOver"/>
+                                    <VisualState x:Name="Pressed">
+                                        <Storyboard>
+                                            <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="border">
+                                                <EasingDoubleKeyFrame KeyTime="0" Value="0.005"/>
+                                                <EasingDoubleKeyFrame KeyTime="0:0:0.1" Value="1"/>
+                                            </DoubleAnimationUsingKeyFrames>
+                                        </Storyboard>
+                                    </VisualState>
+                                    <VisualState x:Name="Disabled">
+                                        <Storyboard>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility" Storyboard.TargetName="EnabledBackground">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="Collapsed"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility" Storyboard.TargetName="DisabledBackground">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="Visible"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                        </Storyboard>
+                                    </VisualState>
+                                    <VisualState x:Name="Checked">
+                                        <Storyboard>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="EnabledContent">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource PhoneAccentBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Background" Storyboard.TargetName="DisabledBackground">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource PhoneDisabledBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="BorderBrush" Storyboard.TargetName="DisabledBackground">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource PhoneDisabledBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="DisabledContent">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource PhoneBackgroundBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                        </Storyboard>
+                                    </VisualState>
+                                    <VisualState x:Name="CheckedPointerOver">
+                                        <Storyboard>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="EnabledContent">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource PhoneButtonBasePressedForegroundBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Background" Storyboard.TargetName="DisabledBackground">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource PhoneDisabledBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="BorderBrush" Storyboard.TargetName="DisabledBackground">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource PhoneDisabledBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="DisabledContent">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource PhoneBackgroundBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                        </Storyboard>
+                                    </VisualState>
+                                    <VisualState x:Name="CheckedPressed">
+                                        <Storyboard>
+                                            <DoubleAnimation Duration="0:0:0.1" To="1" Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="border" d:IsOptimized="True"/>
+                                        </Storyboard>
+                                    </VisualState>
+                                    <VisualState x:Name="CheckedDisabled">
+                                        <Storyboard>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Opacity" Storyboard.TargetName="EnabledBackground">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="0.4"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="EnabledContent">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource PhoneButtonBasePressedForegroundBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                        </Storyboard>
+                                    </VisualState>
+                                    <VisualState x:Name="Indeterminate"/>
+                                    <VisualState x:Name="IndeterminatePointerOver"/>
+                                    <VisualState x:Name="IndeterminatePressed"/>
+                                    <VisualState x:Name="IndeterminateDisabled">
+                                        <Storyboard>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility" Storyboard.TargetName="EnabledBackground">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="Collapsed"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility" Storyboard.TargetName="DisabledBackground">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="Visible"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                        </Storyboard>
+                                    </VisualState>
+                                </VisualStateGroup>
+                            </VisualStateManager.VisualStateGroups>
+                            <Border x:Name="EnabledBackground" BorderThickness="{TemplateBinding BorderThickness}" Margin="{ThemeResource PhoneTouchTargetOverhang}">
+                                <ContentPresenter x:Name="EnabledContent" AutomationProperties.AccessibilityView="Raw" ContentTemplate="{TemplateBinding ContentTemplate}" Content="{TemplateBinding Content}" Foreground="{TemplateBinding Foreground}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
+                            </Border>
+                            <Border x:Name="DisabledBackground" BorderBrush="{ThemeResource ButtonDisabledBorderThemeBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="Transparent" IsHitTestVisible="False" Margin="{ThemeResource PhoneTouchTargetOverhang}" Visibility="Collapsed">
+                                <ContentPresenter x:Name="DisabledContent" AutomationProperties.AccessibilityView="Raw" ContentTemplate="{TemplateBinding ContentTemplate}" Content="{TemplateBinding Content}" Foreground="{ThemeResource ButtonDisabledForegroundThemeBrush}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
+                            </Border>
+                            <Border x:Name="border" Margin="0" VerticalAlignment="Center" Background="#7F919191" CornerRadius="20" BorderThickness="0,0,0,1" RenderTransformOrigin="0.5,0.5" HorizontalAlignment="Center" Height="56" Width="{TemplateBinding ActualWidth}" Opacity="0.005" >
+                                <Border.RenderTransform>
+                                    <CompositeTransform TranslateX="-50"/>
+                                </Border.RenderTransform>
+                                <TextBlock x:Name="textBlock" Margin="0" TextWrapping="Wrap" Text="{TemplateBinding Content}" FontFamily="Assets/Font/iconfont.ttf#iconfont" HorizontalAlignment="Center" VerticalAlignment="Center" Foreground="White"/>
+                            </Border>
+                        </Grid>
+                    </ControlTemplate>
+                </Setter.Value>
+            </Setter>
+        </Style>
+        <Thickness x:Key="PivotPortraitThemePadding">19,38,0,0</Thickness>
+        <Thickness x:Key="PivotLandscapeThemePadding">19,25,0,0</Thickness>
+        <Style x:Key="PivotStyle" TargetType="Pivot">
+            <Setter Property="Margin" Value="0"/>
+            <Setter Property="Padding" Value="0"/>
+            <Setter Property="Foreground" Value="{ThemeResource PhoneForegroundBrush}"/>
+            <Setter Property="Background" Value="Transparent"/>
+            <Setter Property="ItemsPanel">
+                <Setter.Value>
+                    <ItemsPanelTemplate>
+                        <Grid/>
+                    </ItemsPanelTemplate>
+                </Setter.Value>
+            </Setter>
+            <Setter Property="Template">
+                <Setter.Value>
+                    <ControlTemplate TargetType="Pivot">
+                        <Grid x:Name="RootElement" Background="{TemplateBinding Background}" HorizontalAlignment="{TemplateBinding HorizontalAlignment}" VerticalAlignment="{TemplateBinding VerticalAlignment}">
+                            <Grid.RowDefinitions>
+                                <RowDefinition Height="Auto"/>
+                                <RowDefinition Height="*"/>
+                            </Grid.RowDefinitions>
+                            <VisualStateManager.VisualStateGroups>
+                                <VisualStateGroup x:Name="Orientation">
+                                    <VisualState x:Name="Portrait">
+                                        <Storyboard>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Margin" Storyboard.TargetName="TitleContentControl">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource PivotPortraitThemePadding}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                        </Storyboard>
+                                    </VisualState>
+                                    <VisualState x:Name="Landscape">
+                                        <Storyboard>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Margin" Storyboard.TargetName="TitleContentControl">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource PivotLandscapeThemePadding}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                        </Storyboard>
+                                    </VisualState>
+                                </VisualStateGroup>
+                            </VisualStateManager.VisualStateGroups>
+                            <ContentControl x:Name="TitleContentControl" ContentTemplate="{TemplateBinding TitleTemplate}" Content="{TemplateBinding Title}" Style="{StaticResource PivotTitleContentControlStyle}"/>
+                            <ScrollViewer x:Name="ScrollViewer" HorizontalSnapPointsAlignment="Center" HorizontalSnapPointsType="MandatorySingle" HorizontalScrollBarVisibility="Hidden" Margin="0,0,0,-0.167" Template="{StaticResource ScrollViewerScrollBarlessTemplate}" VerticalSnapPointsType="None" VerticalScrollBarVisibility="Disabled" VerticalScrollMode="Disabled" VerticalContentAlignment="Stretch" ZoomMode="Disabled" Grid.RowSpan="2" d:LayoutOverrides="TopMargin, BottomMargin">
+                                <PivotPanel x:Name="Panel" VerticalAlignment="Stretch">
+                                    <PivotHeaderPanel x:Name="Header">
+                                        <PivotHeaderPanel.RenderTransform>
+                                            <CompositeTransform x:Name="HeaderTranslateTransform" TranslateX="0"/>
+                                        </PivotHeaderPanel.RenderTransform>
+                                    </PivotHeaderPanel>
+                                    <ItemsPresenter x:Name="PivotItemPresenter">
+                                        <ItemsPresenter.RenderTransform>
+                                            <TranslateTransform x:Name="ItemsPresenterTranslateTransform" X="0"/>
+                                        </ItemsPresenter.RenderTransform>
+                                    </ItemsPresenter>
+                                </PivotPanel>
+                            </ScrollViewer>
+                        </Grid>
+                    </ControlTemplate>
+                </Setter.Value>
+            </Setter>
+        </Style>
+        <SolidColorBrush x:Key="ListBoxBorderThemeBrush" Color="Transparent"/>
+        <Thickness x:Key="ListBoxBorderThemeThickness">1.5</Thickness>
+        <Style x:Key="ListBoxStyle" TargetType="ListBox">
+            <Setter Property="Foreground" Value="{ThemeResource ListBoxForegroundThemeBrush}"/>
+            <Setter Property="Background" Value="{ThemeResource ListBoxBackgroundThemeBrush}"/>
+            <Setter Property="BorderBrush" Value="{ThemeResource ListBoxBorderThemeBrush}"/>
+            <Setter Property="BorderThickness" Value="{ThemeResource ListBoxBorderThemeThickness}"/>
+            <Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Disabled"/>
+            <Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Auto"/>
+            <Setter Property="ScrollViewer.HorizontalScrollMode" Value="Disabled"/>
+            <Setter Property="ScrollViewer.VerticalScrollMode" Value="Auto"/>
+            <Setter Property="ScrollViewer.ZoomMode" Value="Disabled"/>
+            <Setter Property="ScrollViewer.IsDeferredScrollingEnabled" Value="False"/>
+            <Setter Property="ScrollViewer.BringIntoViewOnFocusChange" Value="True"/>
+            <Setter Property="IsTabStop" Value="False"/>
+            <Setter Property="TabNavigation" Value="Once"/>
+            <Setter Property="FontFamily" Value="{ThemeResource ContentControlThemeFontFamily}"/>
+            <Setter Property="FontSize" Value="{ThemeResource ControlContentThemeFontSize}"/>
+            <Setter Property="ItemsPanel">
+                <Setter.Value>
+                    <ItemsPanelTemplate>
+                        <VirtualizingStackPanel/>
+                    </ItemsPanelTemplate>
+                </Setter.Value>
+            </Setter>
+            <Setter Property="Template">
+                <Setter.Value>
+                    <ControlTemplate TargetType="ListBox">
+                        <Border x:Name="LayoutRoot" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}">
+                            <VisualStateManager.VisualStateGroups>
+                                <VisualStateGroup x:Name="CommonStates">
+                                    <VisualState x:Name="Normal"/>
+                                    <VisualState x:Name="Disabled">
+                                        <Storyboard>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Background" Storyboard.TargetName="LayoutRoot">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="Transparent"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="BorderBrush" Storyboard.TargetName="LayoutRoot">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource ListBoxDisabledForegroundThemeBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                        </Storyboard>
+                                    </VisualState>
+                                </VisualStateGroup>
+                            </VisualStateManager.VisualStateGroups>
+                            <ScrollViewer x:Name="ScrollViewer" AutomationProperties.AccessibilityView="Raw" BringIntoViewOnFocusChange="{TemplateBinding ScrollViewer.BringIntoViewOnFocusChange}" HorizontalScrollMode="{TemplateBinding ScrollViewer.HorizontalScrollMode}" HorizontalScrollBarVisibility="{TemplateBinding ScrollViewer.HorizontalScrollBarVisibility}" IsHorizontalRailEnabled="{TemplateBinding ScrollViewer.IsHorizontalRailEnabled}" IsVerticalRailEnabled="{TemplateBinding ScrollViewer.IsVerticalRailEnabled}" IsDeferredScrollingEnabled="{TemplateBinding ScrollViewer.IsDeferredScrollingEnabled}" Padding="{TemplateBinding Padding}" TabNavigation="{TemplateBinding TabNavigation}" VerticalScrollBarVisibility="{TemplateBinding ScrollViewer.VerticalScrollBarVisibility}" VerticalScrollMode="{TemplateBinding ScrollViewer.VerticalScrollMode}" ZoomMode="{TemplateBinding ScrollViewer.ZoomMode}" Background="{x:Null}">
+                                <ItemsPresenter/>
+                            </ScrollViewer>
+                        </Border>
+                    </ControlTemplate>
+                </Setter.Value>
+            </Setter>
+        </Style>
+        <Style x:Key="ThumbStyle" TargetType="Thumb">
+            <Setter Property="Background" Value="{ThemeResource ThumbBackgroundThemeBrush}"/>
+            <Setter Property="BorderThickness" Value="0.8"/>
+            <Setter Property="IsTabStop" Value="False"/>
+            <Setter Property="BorderBrush" Value="{ThemeResource ThumbBorderThemeBrush}"/>
+            <Setter Property="Template">
+                <Setter.Value>
+                    <ControlTemplate TargetType="Thumb">
+                        <Grid>
+                            <VisualStateManager.VisualStateGroups>
+                                <VisualStateGroup x:Name="CommonStates">
+                                    <VisualStateGroup.Transitions>
+                                        <VisualTransition GeneratedDuration="0:0:0.2"/>
+                                    </VisualStateGroup.Transitions>
+                                    <VisualState x:Name="Normal"/>
+                                    <VisualState x:Name="PointerOver"/>
+                                    <VisualState x:Name="Pressed">
+                                        <Storyboard>
+                                            <DoubleAnimation Duration="0:0:0.2" To="0" Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="Background" d:IsOptimized="True"/>
+                                            <DoubleAnimation Duration="0:0:0.2" To="1" Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="BackgroundPressed" d:IsOptimized="True"/>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(Border.Background)" Storyboard.TargetName="BackgroundPressed">
+                                                <DiscreteObjectKeyFrame KeyTime="0">
+                                                    <DiscreteObjectKeyFrame.Value>
+                                                        <SolidColorBrush Color="{StaticResource PhoneForegroundColor}"/>
+                                                    </DiscreteObjectKeyFrame.Value>
+                                                </DiscreteObjectKeyFrame>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <DoubleAnimation Duration="0:0:0.15" To="-20" Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateY)" Storyboard.TargetName="BackgroundPressed" d:IsOptimized="True"/>
+                                            <DoubleAnimation Duration="0:0:0.15" To="1.5" Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.ScaleX)" Storyboard.TargetName="BackgroundPressed"/>
+                                            <DoubleAnimation Duration="0:0:0.15" To="1.5" Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.ScaleY)" Storyboard.TargetName="BackgroundPressed"/>
+                                        </Storyboard>
+                                    </VisualState>
+                                    <VisualState x:Name="Disabled"/>
+                                </VisualStateGroup>
+                            </VisualStateManager.VisualStateGroups>
+                            <Border x:Name="Background" Width="30" Height="30">
+                                <Ellipse x:Name="ellipse1" StrokeThickness="5" Height="{Binding Width, ElementName=ellipse1}" >
+                                    <Ellipse.Stroke>
+                                        <SolidColorBrush Color="{ThemeResource PhoneForegroundColor}"/>
+                                    </Ellipse.Stroke>
+                                    <Ellipse.Fill>
+                                        <SolidColorBrush Color="{ThemeResource PhoneBackgroundColor}"/>
+                                    </Ellipse.Fill>
+                                </Ellipse>
+                            </Border>
+                            <Border x:Name="BackgroundPressed" Width="30" Height="15" BorderThickness="0" RenderTransformOrigin="0.5,0.5" Opacity="0" CornerRadius="5">
+                                <Border.RenderTransform>
+                                    <CompositeTransform/>
+                                </Border.RenderTransform>
+                                <TextBlock Margin="2" x:Name="textBlock" Text="25:32" FontSize="6" FontFamily="Assets/Font/Custom/Raleway-Light.ttf#Raleway" HorizontalAlignment="Center" VerticalAlignment="Top">
+                                    <TextBlock.Foreground>
+                                        <SolidColorBrush Color="{ThemeResource PhoneChromeColor}"/>
+                                    </TextBlock.Foreground>
+                                </TextBlock>
+                            </Border>
+                        </Grid>
+                    </ControlTemplate>
+                </Setter.Value>
+            </Setter>
         </Style>
-        
-    	<Style x:Key="CurvedTextBox" TargetType="TextBox">
-    		<Setter Property="FontFamily" Value="{StaticResource PhoneFontFamilyNormal}"/>
-    		<Setter Property="FontSize" Value="{StaticResource PhoneFontSizeMediumLarge}"/>
-    		<Setter Property="Background" Value="{StaticResource PhoneTextBoxBrush}"/>
-    		<Setter Property="Foreground" Value="{StaticResource PhoneTextBoxForegroundBrush}"/>
-    		<Setter Property="BorderBrush" Value="{StaticResource PhoneTextBoxBrush}"/>
-    		<Setter Property="SelectionBackground" Value="{StaticResource PhoneAccentBrush}"/>
-    		<Setter Property="SelectionForeground" Value="{StaticResource PhoneTextBoxSelectionForegroundBrush}"/>
-    		<Setter Property="BorderThickness" Value="{StaticResource PhoneBorderThickness}"/>
-    		<Setter Property="Padding" Value="2"/>
-    		<Setter Property="Template">
-    			<Setter.Value>
-    				<ControlTemplate TargetType="TextBox">
-    					<Grid Background="Transparent">
-    						<VisualStateManager.VisualStateGroups>
-    							<VisualStateGroup x:Name="CommonStates">
-    								<VisualState x:Name="Normal"/>
-    								<VisualState x:Name="MouseOver">
-    									<Storyboard>
-    										<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(Shape.Stroke)" Storyboard.TargetName="rectangle">
-    											<DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource PhoneAccentBrush}"/>
-    										</ObjectAnimationUsingKeyFrames>
-    										<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(Shape.Fill)" Storyboard.TargetName="rectangle">
-    											<DiscreteObjectKeyFrame KeyTime="0">
-    												<DiscreteObjectKeyFrame.Value>
-    													<SolidColorBrush Color="White"/>
-    												</DiscreteObjectKeyFrame.Value>
-    											</DiscreteObjectKeyFrame>
-    										</ObjectAnimationUsingKeyFrames>
-    										<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(Control.Foreground)" Storyboard.TargetName="ContentElement">
-    											<DiscreteObjectKeyFrame KeyTime="0">
-    												<DiscreteObjectKeyFrame.Value>
-    													<SolidColorBrush Color="Black"/>
-    												</DiscreteObjectKeyFrame.Value>
-    											</DiscreteObjectKeyFrame>
-    										</ObjectAnimationUsingKeyFrames>
-    									</Storyboard>
-    								</VisualState>
-    								<VisualState x:Name="Disabled"/>
-    								<VisualState x:Name="ReadOnly">
-    									<Storyboard>
-    										<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility" Storyboard.TargetName="MainBorder">
-    											<DiscreteObjectKeyFrame KeyTime="0">
-    												<DiscreteObjectKeyFrame.Value>
-    													<Visibility>Collapsed</Visibility>
-    												</DiscreteObjectKeyFrame.Value>
-    											</DiscreteObjectKeyFrame>
-    										</ObjectAnimationUsingKeyFrames>
-    										<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility" Storyboard.TargetName="ReadonlyBorder">
-    											<DiscreteObjectKeyFrame KeyTime="0">
-    												<DiscreteObjectKeyFrame.Value>
-    													<Visibility>Visible</Visibility>
-    												</DiscreteObjectKeyFrame.Value>
-    											</DiscreteObjectKeyFrame>
-    										</ObjectAnimationUsingKeyFrames>
-    										<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Background" Storyboard.TargetName="ReadonlyBorder">
-    											<DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource PhoneTextBoxBrush}"/>
-    										</ObjectAnimationUsingKeyFrames>
-    										<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="BorderBrush" Storyboard.TargetName="ReadonlyBorder">
-    											<DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource PhoneTextBoxBrush}"/>
-    										</ObjectAnimationUsingKeyFrames>
-    									</Storyboard>
-    								</VisualState>
-    							</VisualStateGroup>
-    							<VisualStateGroup x:Name="FocusStates">
-    								<VisualState x:Name="Focused">
-    									<Storyboard>
-    										<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(Shape.Fill)" Storyboard.TargetName="rectangle">
-    											<DiscreteObjectKeyFrame KeyTime="0">
-    												<DiscreteObjectKeyFrame.Value>
-    													<SolidColorBrush Color="White"/>
-    												</DiscreteObjectKeyFrame.Value>
-    											</DiscreteObjectKeyFrame>
-    										</ObjectAnimationUsingKeyFrames>
-    										<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(Shape.Stroke)" Storyboard.TargetName="rectangle">
-    											<DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource PhoneAccentBrush}"/>
-    										</ObjectAnimationUsingKeyFrames>
-    										<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(Control.Foreground)" Storyboard.TargetName="ContentElement">
-    											<DiscreteObjectKeyFrame KeyTime="0">
-    												<DiscreteObjectKeyFrame.Value>
-    													<SolidColorBrush Color="Black"/>
-    												</DiscreteObjectKeyFrame.Value>
-    											</DiscreteObjectKeyFrame>
-    										</ObjectAnimationUsingKeyFrames>
-    									</Storyboard>
-    								</VisualState>
-    								<VisualState x:Name="Unfocused"/>
-    							</VisualStateGroup>
-    						</VisualStateManager.VisualStateGroups>
-    						<Rectangle x:Name="rectangle" Fill="{StaticResource PhoneDisabledBrush}" HorizontalAlignment="Left" Height="56" Stroke="{StaticResource PhoneInactiveBrush}" VerticalAlignment="Top" Width="216" RadiusY="29" RadiusX="29" Margin="0,10,0,0"/>
-    						<Border x:Name="MainBorder" BorderThickness="{TemplateBinding BorderThickness}" Margin="{StaticResource PhoneTouchTargetOverhang}"/>
-    						<Border x:Name="ReadonlyBorder" BorderBrush="{StaticResource PhoneDisabledBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="Transparent" Margin="{StaticResource PhoneTouchTargetOverhang}" Visibility="Collapsed"/>
-    						<Border BorderBrush="Transparent" BorderThickness="{TemplateBinding BorderThickness}" Background="Transparent" Margin="{StaticResource PhoneTouchTargetOverhang}">
-    							<ContentControl x:Name="ContentElement" BorderThickness="0" HorizontalContentAlignment="Stretch" Margin="{StaticResource PhoneTextBoxInnerMargin}" Padding="{TemplateBinding Padding}" VerticalContentAlignment="Stretch" Foreground="{StaticResource PhoneBackgroundBrush}"/>
-    						</Border>
-    					</Grid>
-    				</ControlTemplate>
-    			</Setter.Value>
-    		</Setter>
-    	</Style>
-    	<Style x:Key="SearchButton" TargetType="Button">
-    		<Setter Property="Background" Value="Transparent"/>
-    		<Setter Property="BorderBrush" Value="{StaticResource PhoneForegroundBrush}"/>
-    		<Setter Property="Foreground" Value="{StaticResource PhoneForegroundBrush}"/>
-    		<Setter Property="BorderThickness" Value="{StaticResource PhoneBorderThickness}"/>
-    		<Setter Property="FontFamily" Value="{StaticResource PhoneFontFamilySemiBold}"/>
-    		<Setter Property="FontSize" Value="{StaticResource PhoneFontSizeMedium}"/>
-    		<Setter Property="Padding" Value="10,5,10,6"/>
-    		<Setter Property="Template">
-    			<Setter.Value>
-    				<ControlTemplate TargetType="Button">
-    					<Grid Background="Transparent">
-    						<VisualStateManager.VisualStateGroups>
-    							<VisualStateGroup x:Name="CommonStates">
-    								<VisualState x:Name="Normal"/>
-    								<VisualState x:Name="MouseOver"/>
-    								<VisualState x:Name="Pressed">
-    									<Storyboard>
-    										<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(Border.Background)" Storyboard.TargetName="ButtonBackground">
-    											<DiscreteObjectKeyFrame KeyTime="0">
-    												<DiscreteObjectKeyFrame.Value>
-    													<SolidColorBrush Color="White"/>
-    												</DiscreteObjectKeyFrame.Value>
-    											</DiscreteObjectKeyFrame>
-    										</ObjectAnimationUsingKeyFrames>
-    									</Storyboard>
-    								</VisualState>
-    								<VisualState x:Name="Disabled"/>
-    							</VisualStateGroup>
-    						</VisualStateManager.VisualStateGroups>
-    						<Border x:Name="ButtonBackground" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="0" Margin="10" Background="{StaticResource PhoneAccentBrush}"/>
-    					</Grid>
-    				</ControlTemplate>
-    			</Setter.Value>
-    		</Setter>
-    	</Style>
-    	<Style x:Key="MainBarButton" TargetType="Button">
-    		<Setter Property="Background" Value="Transparent"/>
-    		<Setter Property="BorderBrush" Value="{StaticResource PhoneForegroundBrush}"/>
-    		<Setter Property="Foreground" Value="{StaticResource PhoneForegroundBrush}"/>
-    		<Setter Property="BorderThickness" Value="{StaticResource PhoneBorderThickness}"/>
-    		<Setter Property="FontFamily" Value="{StaticResource PhoneFontFamilySemiBold}"/>
-    		<Setter Property="FontSize" Value="{StaticResource PhoneFontSizeMedium}"/>
-    		<Setter Property="Padding" Value="10,5,10,6"/>
-    		<Setter Property="Template">
-    			<Setter.Value>
-    				<ControlTemplate TargetType="Button">
-    					<Grid Background="Transparent">
-    						<VisualStateManager.VisualStateGroups>
-    							<VisualStateGroup x:Name="CommonStates">
-    								<VisualState x:Name="Normal"/>
-    								<VisualState x:Name="MouseOver">
-    									<Storyboard>
-    										<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(Shape.Fill)" Storyboard.TargetName="rectangle">
-    											<DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource PhoneAccentBrush}"/>
-    										</ObjectAnimationUsingKeyFrames>
-    										<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(Shape.Fill)" Storyboard.TargetName="ellipse">
-    											<DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource PhoneChromeBrush}"/>
-    										</ObjectAnimationUsingKeyFrames>
-    									</Storyboard>
-    								</VisualState>
-    								<VisualState x:Name="Pressed">
-    									<Storyboard>
-    										<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Background" Storyboard.TargetName="ButtonBackground">
-    											<DiscreteObjectKeyFrame KeyTime="0">
-    												<DiscreteObjectKeyFrame.Value>
-    													<ImageBrush ImageSource="greyhome.png" Stretch="Uniform"/>
-    												</DiscreteObjectKeyFrame.Value>
-    											</DiscreteObjectKeyFrame>
-    										</ObjectAnimationUsingKeyFrames>
-    										<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(Shape.Fill)" Storyboard.TargetName="ellipse">
-    											<DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource PhoneChromeBrush}"/>
-    										</ObjectAnimationUsingKeyFrames>
-    										<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(Shape.Fill)" Storyboard.TargetName="rectangle">
-    											<DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource PhoneAccentBrush}"/>
-    										</ObjectAnimationUsingKeyFrames>
-    									</Storyboard>
-    								</VisualState>
-    								<VisualState x:Name="Disabled">
-    									<Storyboard>
-    										<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="BorderBrush" Storyboard.TargetName="ButtonBackground">
-    											<DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource PhoneDisabledBrush}"/>
-    										</ObjectAnimationUsingKeyFrames>
-    										<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Background" Storyboard.TargetName="ButtonBackground">
-    											<DiscreteObjectKeyFrame KeyTime="0" Value="Transparent"/>
-    										</ObjectAnimationUsingKeyFrames>
-    									</Storyboard>
-    								</VisualState>
-    							</VisualStateGroup>
-    						</VisualStateManager.VisualStateGroups>
-    						<Ellipse x:Name="ellipse" HorizontalAlignment="Left" Height="39" Margin="17,16,0,0" VerticalAlignment="Top" Width="40" Fill="{StaticResource PhoneAccentBrush}"/>
-    						<Rectangle x:Name="rectangle" HorizontalAlignment="Left" Height="21" VerticalAlignment="Top" Width="16" Margin="29,25,0,0" Fill="{StaticResource PhoneChromeBrush}"/>
-    						<Border x:Name="ButtonBackground" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" CornerRadius="0" Margin="{StaticResource PhoneTouchTargetOverhang}"/>
-    					</Grid>
-    				</ControlTemplate>
-    			</Setter.Value>
-    		</Setter>
-    	</Style>
-    	<Style x:Key="SliderStyle" TargetType="Slider">
-    		<Setter Property="BorderThickness" Value="0"/>
-    		<Setter Property="BorderBrush" Value="Transparent"/>
-    		<Setter Property="Maximum" Value="10"/>
-    		<Setter Property="Minimum" Value="0"/>
-    		<Setter Property="Value" Value="0"/>
-    		<Setter Property="Background" Value="{StaticResource PhoneChromeBrush}"/>
-    		<Setter Property="Foreground" Value="{StaticResource PhoneAccentBrush}"/>
-    		<Setter Property="Template">
-    			<Setter.Value>
-    				<ControlTemplate TargetType="Slider">
-    					<Grid Background="Transparent">
-    						<VisualStateManager.VisualStateGroups>
-    							<VisualStateGroup x:Name="CommonStates">
-    								<VisualState x:Name="Normal"/>
-    								<VisualState x:Name="MouseOver"/>
-    								<VisualState x:Name="Disabled">
-    									<Storyboard>
-    										<DoubleAnimation Duration="0" To="0.1" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="HorizontalTrack"/>
-    										<DoubleAnimation Duration="0" To="0.1" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="VerticalTrack"/>
-    										<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Fill" Storyboard.TargetName="HorizontalFill">
-    											<DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource PhoneDisabledBrush}"/>
-    										</ObjectAnimationUsingKeyFrames>
-    										<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Fill" Storyboard.TargetName="VerticalFill">
-    											<DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource PhoneDisabledBrush}"/>
-    										</ObjectAnimationUsingKeyFrames>
-    									</Storyboard>
-    								</VisualState>
-    							</VisualStateGroup>
-    						</VisualStateManager.VisualStateGroups>
-    						<Grid x:Name="HorizontalTemplate" Margin="{StaticResource PhoneHorizontalMargin}">
-    							<Rectangle HorizontalAlignment="Left" Height="24" Margin="0,16,0,0" VerticalAlignment="Top" Width="282" RadiusY="12" RadiusX="12" RenderTransformOrigin="0.5,0.542" Opacity="0.25" Fill="Black"/>
-    							<Rectangle x:Name="HorizontalTrack" Fill="{TemplateBinding Background}" Height="12" IsHitTestVisible="False" Margin="0,22,0,50"/>
-    							<Rectangle x:Name="HorizontalFill" Fill="{TemplateBinding Foreground}" Height="12" IsHitTestVisible="False" Margin="0,22,0,50">
-    								<Rectangle.Clip>
-    									<RectangleGeometry Rect="0, 0, 6, 12"/>
-    								</Rectangle.Clip>
-    							</Rectangle>
-    							<Rectangle x:Name="HorizontalCenterElement" Fill="{StaticResource PhoneForegroundBrush}" HorizontalAlignment="Left" Height="24" Margin="0,16,0,44" Width="12">
-    								<Rectangle.RenderTransform>
-    									<TranslateTransform/>
-    								</Rectangle.RenderTransform>
-    							</Rectangle>
-    						</Grid>
-    						<Grid x:Name="VerticalTemplate" Margin="{StaticResource PhoneVerticalMargin}">
-    							<Rectangle x:Name="VerticalTrack" Fill="{TemplateBinding Background}" IsHitTestVisible="False" Margin="18,0,18,0" Width="12"/>
-    							<Rectangle x:Name="VerticalFill" Fill="{TemplateBinding Foreground}" IsHitTestVisible="False" Margin="18,0,18,0" Width="12">
-    								<Rectangle.Clip>
-    									<RectangleGeometry Rect="0, 0, 12, 6"/>
-    								</Rectangle.Clip>
-    							</Rectangle>
-    							<Rectangle x:Name="VerticalCenterElement" Fill="{StaticResource PhoneForegroundBrush}" Height="12" Margin="12,0,12,0" VerticalAlignment="Top" Width="24">
-    								<Rectangle.RenderTransform>
-    									<TranslateTransform/>
-    								</Rectangle.RenderTransform>
-    							</Rectangle>
-    						</Grid>
-    					</Grid>
-    				</ControlTemplate>
-    			</Setter.Value>
-    		</Setter>
-    	</Style>
-    	<Style x:Key="Play" TargetType="Button">
-    		<Setter Property="Background" Value="Transparent"/>
-    		<Setter Property="BorderBrush" Value="{StaticResource PhoneForegroundBrush}"/>
-    		<Setter Property="Foreground" Value="{StaticResource PhoneForegroundBrush}"/>
-    		<Setter Property="BorderThickness" Value="{StaticResource PhoneBorderThickness}"/>
-    		<Setter Property="FontFamily" Value="{StaticResource PhoneFontFamilySemiBold}"/>
-    		<Setter Property="FontSize" Value="{StaticResource PhoneFontSizeMedium}"/>
-    		<Setter Property="Padding" Value="10,5,10,6"/>
-    		<Setter Property="Template">
-    			<Setter.Value>
-    				<ControlTemplate TargetType="Button">
-    					<Grid Background="Transparent">
-    						<VisualStateManager.VisualStateGroups>
-    							<VisualStateGroup x:Name="CommonStates">
-    								<VisualState x:Name="Normal"/>
-    								<VisualState x:Name="MouseOver">
-    									<Storyboard>
-    										<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(Border.Background)" Storyboard.TargetName="ButtonBackground">
-    											<DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource PhoneAccentBrush}"/>
-    										</ObjectAnimationUsingKeyFrames>
-    									</Storyboard>
-    								</VisualState>
-    								<VisualState x:Name="Pressed">
-    									<Storyboard>
-    										<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="ContentContainer">
-    											<DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource PhoneButtonBasePressedForegroundBrush}"/>
-    										</ObjectAnimationUsingKeyFrames>
-    										<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(Border.Background)" Storyboard.TargetName="ButtonBackground">
-    											<DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource PhoneAccentBrush}"/>
-    										</ObjectAnimationUsingKeyFrames>
-    									</Storyboard>
-    								</VisualState>
-    								<VisualState x:Name="Disabled">
-    									<Storyboard>
-    										<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="ContentContainer">
-    											<DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource PhoneDisabledBrush}"/>
-    										</ObjectAnimationUsingKeyFrames>
-    									</Storyboard>
-    								</VisualState>
-    							</VisualStateGroup>
-    						</VisualStateManager.VisualStateGroups>
-    						<Border x:Name="ButtonBackground" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="0" Margin="{StaticResource PhoneTouchTargetOverhang}" Background="{StaticResource PhoneChromeBrush}">
-    							<Border.OpacityMask>
-    								<ImageBrush Stretch="Uniform" ImageSource="/Resources/Assets/Images/play.png"/>
-    							</Border.OpacityMask>
-    							<ContentControl x:Name="ContentContainer" ContentTemplate="{TemplateBinding ContentTemplate}" Content="{TemplateBinding Content}" Foreground="{TemplateBinding Foreground}" HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" Padding="{TemplateBinding Padding}" VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"/>
-    						</Border>
-    					</Grid>
-    				</ControlTemplate>
-    			</Setter.Value>
-    		</Setter>
-    	</Style>
-    	<Style x:Key="Forward" TargetType="Button">
-    		<Setter Property="Background" Value="Transparent"/>
-    		<Setter Property="BorderBrush" Value="{StaticResource PhoneForegroundBrush}"/>
-    		<Setter Property="Foreground" Value="{StaticResource PhoneForegroundBrush}"/>
-    		<Setter Property="BorderThickness" Value="{StaticResource PhoneBorderThickness}"/>
-    		<Setter Property="FontFamily" Value="{StaticResource PhoneFontFamilySemiBold}"/>
-    		<Setter Property="FontSize" Value="{StaticResource PhoneFontSizeMedium}"/>
-    		<Setter Property="Padding" Value="10,5,10,6"/>
-    		<Setter Property="Template">
-    			<Setter.Value>
-    				<ControlTemplate TargetType="Button">
-    					<Grid Background="Transparent">
-    						<VisualStateManager.VisualStateGroups>
-    							<VisualStateGroup x:Name="CommonStates">
-    								<VisualState x:Name="Normal"/>
-    								<VisualState x:Name="MouseOver">
-    									<Storyboard>
-    										<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(Border.Background)" Storyboard.TargetName="ButtonBackground">
-    											<DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource PhoneAccentBrush}"/>
-    										</ObjectAnimationUsingKeyFrames>
-    									</Storyboard>
-    								</VisualState>
-    								<VisualState x:Name="Pressed">
-    									<Storyboard>
-    										<ColorAnimation Duration="0" To="{StaticResource PhoneAccentColor}" Storyboard.TargetProperty="(Border.Background).(SolidColorBrush.Color)" Storyboard.TargetName="ButtonBackground" d:IsOptimized="True"/>
-    									</Storyboard>
-    								</VisualState>
-    								<VisualState x:Name="Disabled"/>
-    							</VisualStateGroup>
-    						</VisualStateManager.VisualStateGroups>
-    						<Border x:Name="ButtonBackground" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="0" Margin="{StaticResource PhoneTouchTargetOverhang}">
-    							<Border.Background>
-    								<SolidColorBrush Color="{StaticResource PhoneChromeColor}"/>
-    							</Border.Background>
-    							<Border.OpacityMask>
-    								<ImageBrush Stretch="Uniform" ImageSource="Resources/Assets/Images/next.png"/>
-    							</Border.OpacityMask>
-    							<ContentControl x:Name="ContentContainer" ContentTemplate="{TemplateBinding ContentTemplate}" Content="{TemplateBinding Content}" Foreground="{StaticResource PhoneAccentBrush}" HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" Padding="{TemplateBinding Padding}" VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"/>
-    						</Border>
-    					</Grid>
-    				</ControlTemplate>
-    			</Setter.Value>
-    		</Setter>
-    	</Style>
-    	<Style x:Key="Previous" TargetType="Button">
-    		<Setter Property="Background" Value="Transparent"/>
-    		<Setter Property="BorderBrush" Value="{StaticResource PhoneForegroundBrush}"/>
-    		<Setter Property="Foreground" Value="{StaticResource PhoneForegroundBrush}"/>
-    		<Setter Property="BorderThickness" Value="{StaticResource PhoneBorderThickness}"/>
-    		<Setter Property="FontFamily" Value="{StaticResource PhoneFontFamilySemiBold}"/>
-    		<Setter Property="FontSize" Value="{StaticResource PhoneFontSizeMedium}"/>
-    		<Setter Property="Padding" Value="10,5,10,6"/>
-    		<Setter Property="Template">
-    			<Setter.Value>
-    				<ControlTemplate TargetType="Button">
-    					<Grid Background="Transparent">
-    						<VisualStateManager.VisualStateGroups>
-    							<VisualStateGroup x:Name="CommonStates">
-    								<VisualState x:Name="Normal">
-    									<Storyboard>
-    										<ColorAnimation Duration="0" To="#FF1F1F1F" Storyboard.TargetProperty="(Border.Background).(SolidColorBrush.Color)" Storyboard.TargetName="ButtonBackground" d:IsOptimized="True"/>
-    									</Storyboard>
-    								</VisualState>
-    								<VisualState x:Name="MouseOver">
-    									<Storyboard>
-    										<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(Border.Background)" Storyboard.TargetName="ButtonBackground">
-    											<DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource PhoneAccentBrush}"/>
-    										</ObjectAnimationUsingKeyFrames>
-    									</Storyboard>
-    								</VisualState>
-    								<VisualState x:Name="Pressed">
-    									<Storyboard>
-    										<ColorAnimation Duration="0" To="{StaticResource PhoneAccentColor}" Storyboard.TargetProperty="(Border.Background).(SolidColorBrush.Color)" Storyboard.TargetName="ButtonBackground" d:IsOptimized="True"/>
-    									</Storyboard>
-    								</VisualState>
-    								<VisualState x:Name="Disabled"/>
-    							</VisualStateGroup>
-    						</VisualStateManager.VisualStateGroups>
-    						<Border x:Name="ButtonBackground" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="0" Margin="{StaticResource PhoneTouchTargetOverhang}">
-    							<Border.Background>
-    								<SolidColorBrush Color="{StaticResource PhoneChromeColor}"/>
-    							</Border.Background>
-    							<Border.OpacityMask>
-    								<ImageBrush ImageSource="Resources/Assets/Images/previous.png" Stretch="Uniform"/>
-    							</Border.OpacityMask>
-    							<ContentControl x:Name="ContentContainer" ContentTemplate="{TemplateBinding ContentTemplate}" Content="{TemplateBinding Content}" Foreground="{StaticResource PhoneTextBoxBrush}" HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" Padding="{TemplateBinding Padding}" VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"/>
-    						</Border>
-    					</Grid>
-    				</ControlTemplate>
-    			</Setter.Value>
-    		</Setter>
-    	</Style>
-    	<Style x:Key="ButtonTemplate" TargetType="Button">
-    		<Setter Property="Background" Value="Transparent"/>
-    		<Setter Property="BorderBrush" Value="{StaticResource PhoneForegroundBrush}"/>
-    		<Setter Property="Foreground" Value="{StaticResource PhoneForegroundBrush}"/>
-    		<Setter Property="BorderThickness" Value="{StaticResource PhoneBorderThickness}"/>
-    		<Setter Property="FontFamily" Value="{StaticResource PhoneFontFamilySemiBold}"/>
-    		<Setter Property="FontSize" Value="{StaticResource PhoneFontSizeMedium}"/>
-    		<Setter Property="Padding" Value="10,5,10,6"/>
-    		<Setter Property="Template">
-    			<Setter.Value>
-    				<ControlTemplate TargetType="Button">
-    					<Grid Background="Transparent">
-    						<VisualStateManager.VisualStateGroups>
-    							<VisualStateGroup x:Name="CommonStates">
-    								<VisualState x:Name="Normal"/>
-    								<VisualState x:Name="MouseOver"/>
-    								<VisualState x:Name="Pressed">
-    									<Storyboard>
-    										<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Background" Storyboard.TargetName="ButtonBackground">
-    											<DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource PhoneAccentBrush}"/>
-    										</ObjectAnimationUsingKeyFrames>
-    									</Storyboard>
-    								</VisualState>
-    								<VisualState x:Name="Disabled">
-    									<Storyboard>
-    										<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Background" Storyboard.TargetName="ButtonBackground">
-    											<DiscreteObjectKeyFrame KeyTime="0" Value="Transparent"/>
-    										</ObjectAnimationUsingKeyFrames>
-    									</Storyboard>
-    								</VisualState>
-    							</VisualStateGroup>
-    						</VisualStateManager.VisualStateGroups>
-    						<Border x:Name="ButtonBackground" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" CornerRadius="0" Margin="{StaticResource PhoneTouchTargetOverhang}">
-    							<ContentControl x:Name="ContentContainer" ContentTemplate="{TemplateBinding ContentTemplate}" Foreground="{StaticResource PhoneInverseBackgroundBrush}" HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" Padding="{TemplateBinding Padding}" VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"/>
-    						</Border>
-    					</Grid>
-    				</ControlTemplate>
-    			</Setter.Value>
-    		</Setter>
-    	</Style>
-    	<Style x:Key="PlainButtonTemplate" TargetType="Button">
-    		<Setter Property="Background" Value="Transparent"/>
-    		<Setter Property="BorderBrush" Value="{StaticResource PhoneForegroundBrush}"/>
-    		<Setter Property="Foreground" Value="{StaticResource PhoneForegroundBrush}"/>
-    		<Setter Property="BorderThickness" Value="{StaticResource PhoneBorderThickness}"/>
-    		<Setter Property="FontFamily" Value="{StaticResource PhoneFontFamilySemiBold}"/>
-    		<Setter Property="FontSize" Value="{StaticResource PhoneFontSizeMedium}"/>
-    		<Setter Property="Padding" Value="10,5,10,6"/>
-    		<Setter Property="Template">
-    			<Setter.Value>
-    				<ControlTemplate TargetType="Button">
-    					<Grid Background="Transparent" Margin="0,1,0,19">
-    						<VisualStateManager.VisualStateGroups>
-    							<VisualStateGroup x:Name="CommonStates">
-    								<VisualState x:Name="Normal"/>
-    								<VisualState x:Name="MouseOver">
-    									<Storyboard>
-    										<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(Control.Foreground)" Storyboard.TargetName="ContentContainer">
-    											<DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource PhoneAccentBrush}"/>
-    										</ObjectAnimationUsingKeyFrames>
-    									</Storyboard>
-    								</VisualState>
-    								<VisualState x:Name="Pressed">
-    									<Storyboard>
-    										<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="ContentContainer">
-    											<DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource PhoneAccentBrush}"/>
-    										</ObjectAnimationUsingKeyFrames>
-    									</Storyboard>
-    								</VisualState>
-    								<VisualState x:Name="Disabled">
-    									<Storyboard>
-    										<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="ContentContainer">
-    											<DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource PhoneDisabledBrush}"/>
-    										</ObjectAnimationUsingKeyFrames>
-    									</Storyboard>
-    								</VisualState>
-    							</VisualStateGroup>
-    						</VisualStateManager.VisualStateGroups>
-    						<ContentControl x:Name="ContentContainer" ContentTemplate="{TemplateBinding ContentTemplate}" Content="{TemplateBinding Content}" Foreground="{TemplateBinding Foreground}" HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" Padding="{TemplateBinding Padding}" VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}" Margin="3,3,0,0"/>
-    					</Grid>
-    				</ControlTemplate>
-    			</Setter.Value>
-    		</Setter>
-    	</Style>
-    	<Style x:Key="ButtonPlay" TargetType="Button">
-    		<Setter Property="Background" Value="Transparent"/>
-    		<Setter Property="BorderBrush" Value="{StaticResource PhoneForegroundBrush}"/>
-    		<Setter Property="Foreground" Value="{StaticResource PhoneForegroundBrush}"/>
-    		<Setter Property="BorderThickness" Value="{StaticResource PhoneBorderThickness}"/>
-    		<Setter Property="FontFamily" Value="{StaticResource PhoneFontFamilySemiBold}"/>
-    		<Setter Property="FontSize" Value="{StaticResource PhoneFontSizeMedium}"/>
-    		<Setter Property="Padding" Value="10,5,10,6"/>
-    		<Setter Property="Template">
-    			<Setter.Value>
-    				<ControlTemplate TargetType="Button">
-    					<Grid Background="Transparent">
-    						<VisualStateManager.VisualStateGroups>
-    							<VisualStateGroup x:Name="CommonStates">
-    								<VisualState x:Name="Normal"/>
-    								<VisualState x:Name="MouseOver">
-    									<Storyboard>
-    										<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(Border.Background)" Storyboard.TargetName="ButtonBackground">
-    											<DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource PhoneAccentBrush}"/>
-    										</ObjectAnimationUsingKeyFrames>
-    									</Storyboard>
-    								</VisualState>
-    								<VisualState x:Name="Pressed">
-    									<Storyboard>
-    										<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="ContentContainer">
-    											<DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource PhoneButtonBasePressedForegroundBrush}"/>
-    										</ObjectAnimationUsingKeyFrames>
-    										<ColorAnimation Duration="0" To="{StaticResource PhoneAccentColor}" Storyboard.TargetProperty="(Border.Background).(SolidColorBrush.Color)" Storyboard.TargetName="ButtonBackground" d:IsOptimized="True"/>
-    									</Storyboard>
-    								</VisualState>
-    								<VisualState x:Name="Disabled">
-    									<Storyboard>
-    										<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="ContentContainer">
-    											<DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource PhoneDisabledBrush}"/>
-    										</ObjectAnimationUsingKeyFrames>
-    									</Storyboard>
-    								</VisualState>
-    							</VisualStateGroup>
-    						</VisualStateManager.VisualStateGroups>
-    						<Border x:Name="ButtonBackground" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="0" Margin="{StaticResource PhoneTouchTargetOverhang}">
-    							<Border.Background>
-    								<SolidColorBrush Color="#FF1F1F1F"/>
-    							</Border.Background>
-    							<Border.OpacityMask>
-    								<ImageBrush Stretch="Uniform" ImageSource="Resources/Assets/Images/play.png"/>
-    							</Border.OpacityMask>
-    							<ContentControl x:Name="ContentContainer" ContentTemplate="{TemplateBinding ContentTemplate}" Content="{TemplateBinding Content}" Foreground="{TemplateBinding Foreground}" HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" Padding="{TemplateBinding Padding}" VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"/>
-    						</Border>
-    					</Grid>
-    				</ControlTemplate>
-    			</Setter.Value>
-    		</Setter>
-    	</Style>
-    	<Style x:Key="MusicCD" TargetType="Button">
-    		<Setter Property="Background" Value="Transparent"/>
-    		<Setter Property="BorderBrush" Value="{StaticResource PhoneForegroundBrush}"/>
-    		<Setter Property="Foreground" Value="{StaticResource PhoneForegroundBrush}"/>
-    		<Setter Property="BorderThickness" Value="{StaticResource PhoneBorderThickness}"/>
-    		<Setter Property="FontFamily" Value="{StaticResource PhoneFontFamilySemiBold}"/>
-    		<Setter Property="FontSize" Value="{StaticResource PhoneFontSizeMedium}"/>
-    		<Setter Property="Padding" Value="10,5,10,6"/>
-    		<Setter Property="Template">
-    			<Setter.Value>
-    				<ControlTemplate TargetType="Button">
-    					<Grid Background="Transparent">
-    						<VisualStateManager.VisualStateGroups>
-    							<VisualStateGroup x:Name="CommonStates">
-    								<VisualState x:Name="Normal"/>
-    								<VisualState x:Name="MouseOver">
-    									<Storyboard>
-    										<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(Shape.Stroke)" Storyboard.TargetName="arc">
-    											<DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource PhoneAccentBrush}"/>
-    										</ObjectAnimationUsingKeyFrames>
-    										<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(Shape.Fill)" Storyboard.TargetName="arc1">
-    											<DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource PhoneInverseBackgroundBrush}"/>
-    										</ObjectAnimationUsingKeyFrames>
-    									</Storyboard>
-    								</VisualState>
-    								<VisualState x:Name="Pressed">
-    									<Storyboard>
-    										<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="ContentContainer">
-    											<DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource PhoneButtonBasePressedForegroundBrush}"/>
-    										</ObjectAnimationUsingKeyFrames>
-    										<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(Shape.Stroke)" Storyboard.TargetName="arc">
-    											<DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource PhoneAccentBrush}"/>
-    										</ObjectAnimationUsingKeyFrames>
-    										<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(Shape.Fill)" Storyboard.TargetName="arc1">
-    											<DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource PhoneInverseBackgroundBrush}"/>
-    										</ObjectAnimationUsingKeyFrames>
-    									</Storyboard>
-    								</VisualState>
-    								<VisualState x:Name="Disabled">
-    									<Storyboard>
-    										<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="ContentContainer">
-    											<DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource PhoneDisabledBrush}"/>
-    										</ObjectAnimationUsingKeyFrames>
-    									</Storyboard>
-    								</VisualState>
-    							</VisualStateGroup>
-    						</VisualStateManager.VisualStateGroups>
-    						<Border x:Name="ButtonBackground" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="0" Margin="{StaticResource PhoneTouchTargetOverhang}">
-    							<ContentControl x:Name="ContentContainer" ContentTemplate="{TemplateBinding ContentTemplate}" Content="{TemplateBinding Content}" Foreground="{TemplateBinding Foreground}" HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" Padding="{TemplateBinding Padding}" VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"/>
-    						</Border>
-    						<es:Arc x:Name="arc" ArcThickness="35" ArcThicknessUnit="Pixel" EndAngle="360" HorizontalAlignment="Left" Height="100" Stretch="None" StartAngle="0" UseLayoutRounding="False" VerticalAlignment="Top" Width="100" Fill="{StaticResource PhoneChromeBrush}"/>
-    						<es:Arc x:Name="arc1" ArcThickness="7" ArcThicknessUnit="Pixel" EndAngle="360" Fill="{StaticResource PhoneAccentBrush}" HorizontalAlignment="Left" Height="35.53" Margin="33.665,31.999,0,0" Stretch="None" StartAngle="0" UseLayoutRounding="False" VerticalAlignment="Top" Width="32.77" Stroke="{StaticResource PhoneDisabledBrush}"/>
-    					</Grid>
-    				</ControlTemplate>
-    			</Setter.Value>
-    		</Setter>
-    	</Style>
-    </Application.Resources>
 
-    <Application.ApplicationLifetimeObjects>
-        <!--Required object that handles lifetime events for the application-->
-        <shell:PhoneApplicationService
-            Launching="Application_Launching" Closing="Application_Closing"
-            Activated="Application_Activated" Deactivated="Application_Deactivated"/>
-    </Application.ApplicationLifetimeObjects>
 
-</Application>-
\ No newline at end of file
+        <Style x:Key="SliderTemplate" TargetType="Slider">
+            <Setter Property="Template">
+                <Setter.Value>
+                    <ControlTemplate TargetType="Slider">
+                        <Grid>
+                            <Grid.ColumnDefinitions>
+                                <ColumnDefinition Width="Auto" />
+                                <ColumnDefinition Width="3*" />
+                                <ColumnDefinition Width="7*"/>
+                                <ColumnDefinition Width="Auto" />
+                            </Grid.ColumnDefinitions>
+
+                            <VisualStateManager.VisualStateGroups>
+                                <VisualStateGroup x:Name="CommonStates">
+                                    <VisualState x:Name="Normal"/>
+                                    <VisualState x:Name="PointerOver"/>
+                                    <VisualState x:Name="Pressed">
+                                        <Storyboard>
+                                            <DoubleAnimation Duration="0:0:0.1" To="2" Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.ScaleX)" Storyboard.TargetName="HorizontalThumb" d:IsOptimized="True"/>
+                                            <DoubleAnimation Duration="0:0:0.1" To="2" Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.ScaleY)" Storyboard.TargetName="HorizontalThumb" d:IsOptimized="True"/>
+                                        </Storyboard>
+                                    </VisualState>
+                                    <VisualState x:Name="Disabled"/>
+                                </VisualStateGroup>
+                            </VisualStateManager.VisualStateGroups>
+
+                            <Grid x:Name="HorizontalTemplate" Grid.Column="1" Grid.ColumnSpan="2" d:LayoutOverrides="TopMargin, BottomMargin, TopPosition, BottomPosition">
+                                <Grid.ColumnDefinitions>
+                                    <ColumnDefinition Width="Auto" />
+                                    <ColumnDefinition Width="Auto" />
+                                    <ColumnDefinition Width="*" />
+                                </Grid.ColumnDefinitions>
+
+                                <Rectangle x:Name="HorizontalTrackRect"
+        							Grid.Column="0" 
+        							Grid.ColumnSpan="3"
+        							HorizontalAlignment="Stretch" 
+        							VerticalAlignment="Center" 
+        							Stretch="Fill" 
+        							Fill="#7B838A" 
+        							Height="5" StrokeThickness="0" />
+
+                                <Thumb x:Name="HorizontalThumb"
+        							Grid.Column="1" Style="{StaticResource ThumbStyle}" d:LayoutOverrides="TopPosition, BottomPosition" RenderTransformOrigin="0.5,0.5" BorderThickness="0" HorizontalAlignment="Left" Width="30" >
+                                    <Thumb.Background>
+                                        <SolidColorBrush Color="{ThemeResource PhoneForegroundColor}"/>
+                                    </Thumb.Background>
+                                    <Thumb.RenderTransform>
+                                        <CompositeTransform/>
+                                    </Thumb.RenderTransform>
+                                </Thumb>
+
+                                <Rectangle x:Name="HorizontalDecreaseRect"
+        							Grid.Column="0"
+        							Fill="{ThemeResource PhoneAccentBrush}"
+        							Height="5" />
+
+                            </Grid>
+                        </Grid>
+                    </ControlTemplate>
+                </Setter.Value>
+            </Setter>
+        </Style>
+        <x:Double x:Key="TextStyleExtraLargeFontSize">25.5</x:Double>
+        <SolidColorBrush x:Key="ToggleSwitchTrackBorderThemeBrush" Color="Transparent"/>
+        <Style TargetType="ToggleSwitch">
+            <Setter Property="Foreground" Value="{ThemeResource ToggleSwitchForegroundThemeBrush}"/>
+            <Setter Property="HorizontalAlignment" Value="Stretch"/>
+            <Setter Property="VerticalAlignment" Value="Center"/>
+            <Setter Property="HorizontalContentAlignment" Value="Left"/>
+            <Setter Property="FontFamily" Value="{ThemeResource ContentControlThemeFontFamily}"/>
+            <Setter Property="FontWeight" Value="SemiBold"/>
+            <Setter Property="FontSize" Value="{ThemeResource ControlContentThemeFontSize}"/>
+            <Setter Property="Margin" Value="0"/>
+            <Setter Property="Padding" Value="0,0,25.5,0"/>
+            <Setter Property="Template">
+                <Setter.Value>
+                    <ControlTemplate TargetType="ToggleSwitch">
+                        <Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}">
+                            <VisualStateManager.VisualStateGroups>
+                                <VisualStateGroup x:Name="CommonStates">
+                                    <VisualState x:Name="Normal"/>
+                                    <VisualState x:Name="PointerOver"/>
+                                    <VisualState x:Name="Pressed"/>
+                                    <VisualState x:Name="Disabled">
+                                        <Storyboard>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="HeaderContentPresenter">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource ToggleSwitchDisabledForegroundThemeBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="OffContentPresenter">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource ToggleSwitchDisabledForegroundThemeBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="OnContentPresenter">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource ToggleSwitchDisabledForegroundThemeBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Fill" Storyboard.TargetName="SwitchKnob">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource ToggleSwitchThumbDisabledBackgroundThemeBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Stroke" Storyboard.TargetName="SwitchKnob">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource ToggleSwitchThumbDisabledBorderThemeBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="BorderBrush" Storyboard.TargetName="OuterBorder">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource ToggleSwitchOuterBorderDisabledBorderThemeBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Fill" Storyboard.TargetName="SwitchCurtain">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource ToggleSwitchCurtainDisabledBackgroundThemeBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                        </Storyboard>
+                                    </VisualState>
+                                </VisualStateGroup>
+                                <VisualStateGroup x:Name="ToggleStates">
+                                    <VisualStateGroup.Transitions>
+                                        <VisualTransition x:Name="DraggingToOnTransition" From="Dragging" GeneratedDuration="0" To="On">
+                                            <Storyboard>
+                                                <RepositionThemeAnimation FromHorizontalOffset="{Binding TemplateSettings.KnobCurrentToOnOffset, RelativeSource={RelativeSource Mode=TemplatedParent}}" Storyboard.TargetName="SwitchKnob"/>
+                                                <RepositionThemeAnimation FromHorizontalOffset="{Binding TemplateSettings.CurtainCurrentToOnOffset, RelativeSource={RelativeSource Mode=TemplatedParent}}" Storyboard.TargetName="SwitchCurtain"/>
+                                            </Storyboard>
+                                        </VisualTransition>
+                                        <VisualTransition x:Name="DraggingToOffTransition" From="Dragging" GeneratedDuration="0" To="Off">
+                                            <Storyboard>
+                                                <RepositionThemeAnimation FromHorizontalOffset="{Binding TemplateSettings.KnobCurrentToOffOffset, RelativeSource={RelativeSource Mode=TemplatedParent}}" Storyboard.TargetName="SwitchKnob"/>
+                                                <RepositionThemeAnimation FromHorizontalOffset="{Binding TemplateSettings.CurtainCurrentToOffOffset, RelativeSource={RelativeSource Mode=TemplatedParent}}" Storyboard.TargetName="SwitchCurtain"/>
+                                            </Storyboard>
+                                        </VisualTransition>
+                                        <VisualTransition x:Name="OnToOffTransition" From="On" GeneratedDuration="0" To="Off">
+                                            <Storyboard>
+                                                <RepositionThemeAnimation FromHorizontalOffset="{Binding TemplateSettings.KnobOnToOffOffset, RelativeSource={RelativeSource Mode=TemplatedParent}}" Storyboard.TargetName="SwitchKnob"/>
+                                                <RepositionThemeAnimation FromHorizontalOffset="{Binding TemplateSettings.CurtainOnToOffOffset, RelativeSource={RelativeSource Mode=TemplatedParent}}" Storyboard.TargetName="SwitchCurtain"/>
+                                            </Storyboard>
+                                        </VisualTransition>
+                                        <VisualTransition x:Name="OffToOnTransition" From="Off" GeneratedDuration="0" To="On">
+                                            <Storyboard>
+                                                <RepositionThemeAnimation FromHorizontalOffset="{Binding TemplateSettings.KnobOffToOnOffset, RelativeSource={RelativeSource Mode=TemplatedParent}}" Storyboard.TargetName="SwitchKnob"/>
+                                                <RepositionThemeAnimation FromHorizontalOffset="{Binding TemplateSettings.CurtainOffToOnOffset, RelativeSource={RelativeSource Mode=TemplatedParent}}" Storyboard.TargetName="SwitchCurtain"/>
+                                            </Storyboard>
+                                        </VisualTransition>
+                                    </VisualStateGroup.Transitions>
+                                    <VisualState x:Name="Dragging"/>
+                                    <VisualState x:Name="Off">
+                                        <Storyboard>
+                                            <DoubleAnimation Duration="0" To="-64" Storyboard.TargetProperty="X" Storyboard.TargetName="CurtainTranslateTransform"/>
+                                        </Storyboard>
+                                    </VisualState>
+                                    <VisualState x:Name="On">
+                                        <Storyboard>
+                                            <DoubleAnimation Duration="0" To="0" Storyboard.TargetProperty="X" Storyboard.TargetName="CurtainTranslateTransform"/>
+                                            <DoubleAnimation Duration="0" To="56.5" Storyboard.TargetProperty="X" Storyboard.TargetName="KnobTranslateTransform"/>
+                                        </Storyboard>
+                                    </VisualState>
+                                </VisualStateGroup>
+                                <VisualStateGroup x:Name="ContentStates">
+                                    <VisualState x:Name="OffContent">
+                                        <Storyboard>
+                                            <DoubleAnimation Duration="0" To="1" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="OffContentPresenter"/>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="IsHitTestVisible" Storyboard.TargetName="OffContentPresenter">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="True"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                        </Storyboard>
+                                    </VisualState>
+                                    <VisualState x:Name="OnContent">
+                                        <Storyboard>
+                                            <DoubleAnimation Duration="0" To="1" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="OnContentPresenter"/>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="IsHitTestVisible" Storyboard.TargetName="OnContentPresenter">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="True"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                        </Storyboard>
+                                    </VisualState>
+                                </VisualStateGroup>
+                            </VisualStateManager.VisualStateGroups>
+                            <Grid Background="Transparent">
+                                <Grid.ColumnDefinitions>
+                                    <ColumnDefinition Width="Auto"/>
+                                    <ColumnDefinition Width="*"/>
+                                    <ColumnDefinition Width="Auto"/>
+                                </Grid.ColumnDefinitions>
+                                <ContentPresenter x:Name="HeaderContentPresenter" AutomationProperties.AccessibilityView="Raw" ContentTemplate="{TemplateBinding HeaderTemplate}" Content="{TemplateBinding Header}" Foreground="{ThemeResource ToggleSwitchHeaderForegroundThemeBrush}" Margin="{TemplateBinding Padding}" Style="{StaticResource PlaceholderContentPresenterStyle}" VerticalAlignment="Center"/>
+                                <Grid Margin="{TemplateBinding Padding}" Grid.Row="1" Visibility="Collapsed" HorizontalAlignment="Left">
+                                    <ContentPresenter x:Name="OffContentPresenter" AutomationProperties.AccessibilityView="Raw" ContentTemplate="{TemplateBinding OffContentTemplate}" Content="{TemplateBinding OffContent}" FontWeight="Normal" FontSize="{ThemeResource TextStyleExtraLargeFontSize}" FontFamily="{ThemeResource PhoneFontFamilyNormal}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" IsHitTestVisible="False" Opacity="0" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
+                                    <ContentPresenter x:Name="OnContentPresenter" AutomationProperties.AccessibilityView="Raw" ContentTemplate="{TemplateBinding OnContentTemplate}" Content="{TemplateBinding OnContent}" FontWeight="Normal" FontSize="{ThemeResource TextStyleExtraLargeFontSize}" FontFamily="{ThemeResource PhoneFontFamilyNormal}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" IsHitTestVisible="False" Opacity="0" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
+                                </Grid>
+                                <Grid ManipulationMode="None" VerticalAlignment="Center" HorizontalAlignment="Right" Margin="0,0,10,0" Grid.Column="2">
+                                    <Grid x:Name="SwitchKnobBounds" Height="36">
+                                        <Border x:Name="OuterBorder" BorderBrush="{ThemeResource ToggleSwitchOuterBorderBorderThemeBrush}" BorderThickness="2.5" Margin="3,4.5,3,4.5">
+                                            <Border x:Name="InnerBorder" BorderBrush="{ThemeResource ToggleSwitchTrackBorderThemeBrush}" BorderThickness="2.5">
+                                                <ContentPresenter x:Name="SwitchCurtainBounds">
+                                                    <ContentPresenter x:Name="SwitchCurtainClip">
+                                                        <Rectangle x:Name="SwitchCurtain" Fill="{ThemeResource ToggleSwitchCurtainBackgroundThemeBrush}" Width="64">
+                                                            <Rectangle.RenderTransform>
+                                                                <TranslateTransform x:Name="CurtainTranslateTransform" X="-64"/>
+                                                            </Rectangle.RenderTransform>
+                                                        </Rectangle>
+                                                    </ContentPresenter>
+                                                </ContentPresenter>
+                                            </Border>
+                                        </Border>
+                                        <Rectangle x:Name="SwitchKnob" Fill="{ThemeResource ToggleSwitchThumbBackgroundThemeBrush}" HorizontalAlignment="Left" Stroke="{ThemeResource ToggleSwitchThumbBorderThemeBrush}" StrokeThickness="2.5" Width="20.5">
+                                            <Rectangle.RenderTransform>
+                                                <TranslateTransform x:Name="KnobTranslateTransform"/>
+                                            </Rectangle.RenderTransform>
+                                        </Rectangle>
+                                    </Grid>
+                                    <Thumb x:Name="SwitchThumb" AutomationProperties.AccessibilityView="Raw" Margin="-13.5,-15.5,-13.5,-6.5">
+                                        <Thumb.Template>
+                                            <ControlTemplate TargetType="Thumb">
+                                                <Rectangle Fill="Transparent"/>
+                                            </ControlTemplate>
+                                        </Thumb.Template>
+                                    </Thumb>
+                                </Grid>
+                            </Grid>
+                        </Border>
+                    </ControlTemplate>
+                </Setter.Value>
+            </Setter>
+        </Style>
+        <Style TargetType="ToggleButton">
+            <Setter Property="Background" Value="Transparent"/>
+            <Setter Property="BorderBrush" Value="{ThemeResource PhoneForegroundBrush}"/>
+            <Setter Property="Foreground" Value="{ThemeResource PhoneForegroundBrush}"/>
+            <Setter Property="BorderThickness" Value="{ThemeResource PhoneBorderThickness}"/>
+            <Setter Property="FontFamily" Value="{ThemeResource PhoneFontFamilyNormal}"/>
+            <Setter Property="FontWeight" Value="{ThemeResource PhoneButtonFontWeight}"/>
+            <Setter Property="FontSize" Value="{ThemeResource TextStyleLargeFontSize}"/>
+            <Setter Property="Padding" Value="{ThemeResource PhoneButtonContentPadding}"/>
+            <Setter Property="MinHeight" Value="{ThemeResource PhoneButtonMinHeight}"/>
+            <Setter Property="MinWidth" Value="{ThemeResource PhoneButtonMinWidth}"/>
+            <Setter Property="HorizontalAlignment" Value="Left"/>
+            <Setter Property="VerticalAlignment" Value="Center"/>
+            <Setter Property="Template">
+                <Setter.Value>
+                    <ControlTemplate TargetType="ToggleButton">
+                        <Grid Background="Transparent">
+                            <VisualStateManager.VisualStateGroups>
+                                <VisualStateGroup x:Name="CommonStates">
+                                    <VisualState x:Name="Normal"/>
+                                    <VisualState x:Name="PointerOver"/>
+                                    <VisualState x:Name="Pressed"/>
+                                    <VisualState x:Name="Disabled">
+                                        <Storyboard>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility" Storyboard.TargetName="EnabledBackground">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="Collapsed"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility" Storyboard.TargetName="DisabledBackground">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="Visible"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                        </Storyboard>
+                                    </VisualState>
+                                    <VisualState x:Name="Checked">
+                                        <Storyboard>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="DisabledContent">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource PhoneBackgroundBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <ColorAnimation Duration="0:0:0.2" To="{ThemeResource ContentDialogDimmingColor}" Storyboard.TargetProperty="(Border.Background).(SolidColorBrush.Color)" Storyboard.TargetName="EnabledBackground" d:IsOptimized="True"/>
+                                        </Storyboard>
+                                    </VisualState>
+                                    <VisualState x:Name="CheckedPointerOver">
+                                        <Storyboard>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="EnabledContent">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource PhoneButtonBasePressedForegroundBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Background" Storyboard.TargetName="DisabledBackground">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource PhoneDisabledBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="BorderBrush" Storyboard.TargetName="DisabledBackground">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource PhoneDisabledBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="DisabledContent">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource PhoneBackgroundBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                        </Storyboard>
+                                    </VisualState>
+                                    <VisualState x:Name="CheckedPressed"/>
+                                    <VisualState x:Name="CheckedDisabled">
+                                        <Storyboard>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Opacity" Storyboard.TargetName="EnabledBackground">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="0.4"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="EnabledContent">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource PhoneButtonBasePressedForegroundBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                        </Storyboard>
+                                    </VisualState>
+                                    <VisualState x:Name="Indeterminate"/>
+                                    <VisualState x:Name="IndeterminatePointerOver"/>
+                                    <VisualState x:Name="IndeterminatePressed"/>
+                                    <VisualState x:Name="IndeterminateDisabled">
+                                        <Storyboard>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility" Storyboard.TargetName="EnabledBackground">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="Collapsed"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility" Storyboard.TargetName="DisabledBackground">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="Visible"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                        </Storyboard>
+                                    </VisualState>
+                                </VisualStateGroup>
+                            </VisualStateManager.VisualStateGroups>
+                            <Border x:Name="EnabledBackground" BorderThickness="{TemplateBinding BorderThickness}" Margin="{ThemeResource PhoneTouchTargetOverhang}" Background="Transparent" RenderTransformOrigin="0.5,0.5">
+                                <Border.RenderTransform>
+                                    <CompositeTransform/>
+                                </Border.RenderTransform>
+                                <ContentPresenter x:Name="EnabledContent" AutomationProperties.AccessibilityView="Raw" ContentTemplate="{TemplateBinding ContentTemplate}" Content="{TemplateBinding Content}" Foreground="{TemplateBinding Foreground}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
+                            </Border>
+                            <Border x:Name="DisabledBackground" BorderBrush="{ThemeResource ButtonDisabledBorderThemeBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="Transparent" IsHitTestVisible="False" Margin="{ThemeResource PhoneTouchTargetOverhang}" Visibility="Collapsed">
+                                <ContentPresenter x:Name="DisabledContent" AutomationProperties.AccessibilityView="Raw" ContentTemplate="{TemplateBinding ContentTemplate}" Content="{TemplateBinding Content}" Foreground="{ThemeResource ButtonDisabledForegroundThemeBrush}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
+                            </Border>
+                        </Grid>
+                    </ControlTemplate>
+                </Setter.Value>
+            </Setter>
+        </Style>
+        <Style x:Key="SearchBox" TargetType="TextBox">
+            <Setter Property="MinWidth" Value="{ThemeResource TextControlThemeMinWidth}"/>
+            <Setter Property="MinHeight" Value="{ThemeResource TextControlThemeMinHeight}"/>
+            <Setter Property="Foreground" Value="{ThemeResource TextBoxForegroundThemeBrush}"/>
+            <Setter Property="SelectionHighlightColor" Value="{ThemeResource TextSelectionHighlightColorThemeBrush}"/>
+            <Setter Property="Background" Value="{ThemeResource TextBoxBackgroundThemeBrush}"/>
+            <Setter Property="BorderBrush" Value="{ThemeResource TextBoxBorderThemeBrush}"/>
+            <Setter Property="BorderThickness" Value="{ThemeResource TextControlBorderThemeThickness}"/>
+            <Setter Property="FontFamily" Value="{ThemeResource PhoneFontFamilyNormal}"/>
+            <Setter Property="FontSize" Value="{ThemeResource ContentControlFontSize}"/>
+            <Setter Property="TextWrapping" Value="NoWrap"/>
+            <Setter Property="ScrollViewer.HorizontalScrollMode" Value="Auto"/>
+            <Setter Property="ScrollViewer.VerticalScrollMode" Value="Auto"/>
+            <Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Hidden"/>
+            <Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Hidden"/>
+            <Setter Property="ScrollViewer.IsDeferredScrollingEnabled" Value="False"/>
+            <Setter Property="Padding" Value="{ThemeResource TextControlThemePadding}"/>
+            <Setter Property="Margin" Value="{ThemeResource TextControlMarginThemeThickness}"/>
+            <Setter Property="VerticalAlignment" Value="Top"/>
+            <Setter Property="Template">
+                <Setter.Value>
+                    <ControlTemplate TargetType="TextBox">
+                        <Grid Background="Transparent">
+                            <Grid.RowDefinitions>
+                                <RowDefinition Height="Auto"/>
+                                <RowDefinition Height="*"/>
+                            </Grid.RowDefinitions>
+                            <VisualStateManager.VisualStateGroups>
+                                <VisualStateGroup x:Name="CommonStates">
+                                    <VisualState x:Name="Disabled">
+                                        <Storyboard>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="ContentElement">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource TextBoxDisabledForegroundThemeBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="HeaderContentPresenter">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource TextBoxDisabledHeaderForegroundThemeBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                        </Storyboard>
+                                    </VisualState>
+                                    <VisualState x:Name="Normal">
+                                        <Storyboard>
+                                            <DoubleAnimation Duration="0" To="{ThemeResource TextControlBorderThemeOpacity}" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="BorderElement"/>
+                                        </Storyboard>
+                                    </VisualState>
+                                    <VisualState x:Name="Focused">
+                                        <Storyboard>
+                                            <DoubleAnimation Duration="0" To="0" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="PlaceholderTextContentPresenter"/>
+                                            <ColorAnimation Duration="0:0:0.2" To="White" Storyboard.TargetProperty="(Border.Background).(SolidColorBrush.Color)" Storyboard.TargetName="BorderElement" d:IsOptimized="True"/>
+                                            <ColorAnimation Duration="0:0:0.2" To="White" Storyboard.TargetProperty="(Border.BorderBrush).(SolidColorBrush.Color)" Storyboard.TargetName="BorderElement" d:IsOptimized="True"/>
+                                        </Storyboard>
+                                    </VisualState>
+                                </VisualStateGroup>
+                            </VisualStateManager.VisualStateGroups>
+                            <Border x:Name="BorderElement" BorderThickness="{TemplateBinding BorderThickness}" Grid.Row="1" BorderBrush="#00000000">
+                                <Border.Background>
+                                    <SolidColorBrush/>
+                                </Border.Background>
+                            </Border>
+                            <ContentPresenter x:Name="HeaderContentPresenter" ContentTemplate="{TemplateBinding HeaderTemplate}" Content="{TemplateBinding Header}" Margin="{ThemeResource TextControlHeaderMarginThemeThickness}" Grid.Row="0" Style="{StaticResource HeaderContentPresenterStyle}"/>
+                            <ScrollViewer x:Name="ContentElement" AutomationProperties.AccessibilityView="Raw" HorizontalScrollMode="{TemplateBinding ScrollViewer.HorizontalScrollMode}" HorizontalScrollBarVisibility="{TemplateBinding ScrollViewer.HorizontalScrollBarVisibility}" IsTabStop="False" IsHorizontalRailEnabled="{TemplateBinding ScrollViewer.IsHorizontalRailEnabled}" IsVerticalRailEnabled="{TemplateBinding ScrollViewer.IsVerticalRailEnabled}" IsDeferredScrollingEnabled="{TemplateBinding ScrollViewer.IsDeferredScrollingEnabled}" Margin="{TemplateBinding BorderThickness}" MinHeight="{ThemeResource TextControlThemeMinHeight}" Padding="{TemplateBinding Padding}" Grid.Row="1" VerticalScrollBarVisibility="{TemplateBinding ScrollViewer.VerticalScrollBarVisibility}" VerticalScrollMode="{TemplateBinding ScrollViewer.VerticalScrollMode}" ZoomMode="Disabled"/>
+                            <ContentControl x:Name="PlaceholderTextContentPresenter" Content="{TemplateBinding PlaceholderText}" FontSize="{ThemeResource ContentControlFontSize}" IsTabStop="False" Margin="{TemplateBinding BorderThickness}" Padding="{TemplateBinding Padding}" Grid.Row="1" Background="Black">
+                                <ContentControl.Foreground>
+                                    <SolidColorBrush Color="{ThemeResource ContentDialogDimmingColor}"/>
+                                </ContentControl.Foreground>
+                                <ContentControl.BorderBrush>
+                                    <SolidColorBrush Color="{ThemeResource ContentDialogDimmingColor}"/>
+                                </ContentControl.BorderBrush>
+                            </ContentControl>
+                        </Grid>
+                    </ControlTemplate>
+                </Setter.Value>
+            </Setter>
+        </Style>
+        <Thickness x:Key="RichEditBoxTextThemeMargin">2.5,2.5,2.5,2.5</Thickness>
+        <Thickness x:Key="PasswordBoxCheckBoxThemeMargin">0,-6.5,0,0</Thickness>
+        <Style x:Key="PasswordBoxTemplate" TargetType="PasswordBox">
+            <Setter Property="MinWidth" Value="{ThemeResource TextControlThemeMinWidth}"/>
+            <Setter Property="MinHeight" Value="{ThemeResource TextControlThemeMinHeight}"/>
+            <Setter Property="SelectionHighlightColor" Value="{ThemeResource TextSelectionHighlightColorThemeBrush}"/>
+            <Setter Property="Foreground" Value="{ThemeResource TextBoxForegroundThemeBrush}"/>
+            <Setter Property="Background" Value="{ThemeResource TextBoxBackgroundThemeBrush}"/>
+            <Setter Property="BorderBrush" Value="{ThemeResource TextBoxBorderThemeBrush}"/>
+            <Setter Property="BorderThickness" Value="{ThemeResource TextControlBorderThemeThickness}"/>
+            <Setter Property="FontFamily" Value="{ThemeResource PhoneFontFamilyNormal}"/>
+            <Setter Property="FontSize" Value="{ThemeResource ContentControlFontSize}"/>
+            <Setter Property="ScrollViewer.HorizontalScrollMode" Value="Auto"/>
+            <Setter Property="ScrollViewer.VerticalScrollMode" Value="Auto"/>
+            <Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Hidden"/>
+            <Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Hidden"/>
+            <Setter Property="Padding" Value="{ThemeResource TextControlThemePadding}"/>
+            <Setter Property="Margin" Value="{ThemeResource TextControlMarginThemeThickness}"/>
+            <Setter Property="VerticalAlignment" Value="Top"/>
+            <Setter Property="Template">
+                <Setter.Value>
+                    <ControlTemplate TargetType="PasswordBox">
+                        <Grid Background="Transparent">
+                            <Grid.RowDefinitions>
+                                <RowDefinition Height="Auto"/>
+                                <RowDefinition Height="*"/>
+                                <RowDefinition Height="Auto"/>
+                            </Grid.RowDefinitions>
+                            <VisualStateManager.VisualStateGroups>
+                                <VisualStateGroup x:Name="CommonStates">
+                                    <VisualState x:Name="Disabled">
+                                        <Storyboard>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Background" Storyboard.TargetName="BorderElement">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource TextBoxDisabledBackgroundThemeBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="BorderBrush" Storyboard.TargetName="BorderElement">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource TextBoxDisabledBorderThemeBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="ContentElement">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource TextBoxDisabledForegroundThemeBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="PlaceholderTextContentPresenter">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource TextBoxDisabledForegroundThemeBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="HeaderContentPresenter">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource TextBoxDisabledHeaderForegroundThemeBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                        </Storyboard>
+                                    </VisualState>
+                                    <VisualState x:Name="Normal">
+                                        <Storyboard>
+                                            <DoubleAnimation Duration="0" To="{ThemeResource TextControlBorderThemeOpacity}" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="BorderElement"/>
+                                        </Storyboard>
+                                    </VisualState>
+                                    <VisualState x:Name="PointerOver"/>
+                                    <VisualState x:Name="Focused">
+                                        <Storyboard>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="BorderBrush" Storyboard.TargetName="BorderElement">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource TextSelectionHighlightColorThemeBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <DoubleAnimation Duration="0" To="0" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="PlaceholderTextContentPresenter"/>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Background" Storyboard.TargetName="BorderElement">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource TextBoxFocusedBackgroundThemeBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(Control.Foreground)" Storyboard.TargetName="ContentElement">
+                                                <DiscreteObjectKeyFrame KeyTime="0">
+                                                    <DiscreteObjectKeyFrame.Value>
+                                                        <SolidColorBrush Color="Black"/>
+                                                    </DiscreteObjectKeyFrame.Value>
+                                                </DiscreteObjectKeyFrame>
+                                            </ObjectAnimationUsingKeyFrames>
+                                        </Storyboard>
+                                    </VisualState>
+                                </VisualStateGroup>
+                                <VisualStateGroup x:Name="ButtonStates">
+                                    <VisualState x:Name="ButtonVisible">
+                                        <Storyboard>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility" Storyboard.TargetName="RevealButton">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="Visible"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="IsChecked" Storyboard.TargetName="RevealButton">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="False"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                        </Storyboard>
+                                    </VisualState>
+                                    <VisualState x:Name="ButtonCollapsed">
+                                        <Storyboard>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility" Storyboard.TargetName="RevealButton">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="Collapsed"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="IsChecked" Storyboard.TargetName="RevealButton">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="False"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                        </Storyboard>
+                                    </VisualState>
+                                </VisualStateGroup>
+                            </VisualStateManager.VisualStateGroups>
+                            <Border x:Name="BorderElement" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Grid.Row="1"/>
+                            <ContentPresenter x:Name="HeaderContentPresenter" ContentTemplate="{TemplateBinding HeaderTemplate}" Content="{TemplateBinding Header}" Margin="{ThemeResource TextControlHeaderMarginThemeThickness}" Grid.Row="0" Style="{StaticResource HeaderContentPresenterStyle}"/>
+                            <ScrollViewer x:Name="ContentElement" AutomationProperties.AccessibilityView="Raw" HorizontalScrollMode="{TemplateBinding ScrollViewer.HorizontalScrollMode}" HorizontalScrollBarVisibility="{TemplateBinding ScrollViewer.HorizontalScrollBarVisibility}" IsTabStop="False" IsHorizontalRailEnabled="{TemplateBinding ScrollViewer.IsHorizontalRailEnabled}" IsVerticalRailEnabled="{TemplateBinding ScrollViewer.IsVerticalRailEnabled}" Margin="{ThemeResource RichEditBoxTextThemeMargin}" MinHeight="{ThemeResource TextControlThemeMinHeight}" Grid.Row="1" VerticalScrollBarVisibility="{TemplateBinding ScrollViewer.VerticalScrollBarVisibility}" VerticalScrollMode="{TemplateBinding ScrollViewer.VerticalScrollMode}" ZoomMode="Disabled" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" HorizontalAlignment="Center" VerticalAlignment="Center"/>
+                            <ContentControl x:Name="PlaceholderTextContentPresenter" Content="{TemplateBinding PlaceholderText}" Foreground="{ThemeResource TextBoxPlaceholderTextThemeBrush}" IsTabStop="False" Margin="{ThemeResource RichEditBoxTextThemeMargin}" Padding="{TemplateBinding Padding}" Grid.Row="1" HorizontalAlignment="Center"/>
+                            <CheckBox x:Name="RevealButton" Foreground="{ThemeResource TextBoxForegroundHeaderThemeBrush}" HorizontalAlignment="Left" IsTabStop="False" Margin="{ThemeResource PasswordBoxCheckBoxThemeMargin}" Grid.Row="2" Visibility="Collapsed" VerticalAlignment="Top"/>
+                        </Grid>
+                    </ControlTemplate>
+                </Setter.Value>
+            </Setter>
+        </Style>
+        <Style x:Key="PasswordTextBox" TargetType="TextBox">
+            <Setter Property="MinWidth" Value="{ThemeResource TextControlThemeMinWidth}"/>
+            <Setter Property="MinHeight" Value="{ThemeResource TextControlThemeMinHeight}"/>
+            <Setter Property="Foreground" Value="{ThemeResource TextBoxForegroundThemeBrush}"/>
+            <Setter Property="SelectionHighlightColor" Value="{ThemeResource TextSelectionHighlightColorThemeBrush}"/>
+            <Setter Property="Background" Value="{ThemeResource TextBoxBackgroundThemeBrush}"/>
+            <Setter Property="BorderBrush" Value="{ThemeResource TextBoxBorderThemeBrush}"/>
+            <Setter Property="BorderThickness" Value="{ThemeResource TextControlBorderThemeThickness}"/>
+            <Setter Property="FontFamily" Value="{ThemeResource PhoneFontFamilyNormal}"/>
+            <Setter Property="FontSize" Value="{ThemeResource ContentControlFontSize}"/>
+            <Setter Property="TextWrapping" Value="NoWrap"/>
+            <Setter Property="ScrollViewer.HorizontalScrollMode" Value="Auto"/>
+            <Setter Property="ScrollViewer.VerticalScrollMode" Value="Auto"/>
+            <Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Hidden"/>
+            <Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Hidden"/>
+            <Setter Property="ScrollViewer.IsDeferredScrollingEnabled" Value="False"/>
+            <Setter Property="Padding" Value="{ThemeResource TextControlThemePadding}"/>
+            <Setter Property="Margin" Value="{ThemeResource TextControlMarginThemeThickness}"/>
+            <Setter Property="VerticalAlignment" Value="Top"/>
+            <Setter Property="Template">
+                <Setter.Value>
+                    <ControlTemplate TargetType="TextBox">
+                        <Grid Background="Transparent">
+                            <Grid.RowDefinitions>
+                                <RowDefinition Height="Auto"/>
+                                <RowDefinition Height="*"/>
+                            </Grid.RowDefinitions>
+                            <VisualStateManager.VisualStateGroups>
+                                <VisualStateGroup x:Name="CommonStates">
+                                    <VisualState x:Name="Disabled">
+                                        <Storyboard>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="ContentElement">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource TextBoxDisabledForegroundThemeBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="PlaceholderTextContentPresenter">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource TextBoxDisabledForegroundThemeBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="HeaderContentPresenter">
+                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource TextBoxDisabledHeaderForegroundThemeBrush}"/>
+                                            </ObjectAnimationUsingKeyFrames>
+                                        </Storyboard>
+                                    </VisualState>
+                                    <VisualState x:Name="Normal">
+                                        <Storyboard>
+                                            <DoubleAnimation Duration="0" To="{ThemeResource TextControlBorderThemeOpacity}" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="BorderElement"/>
+                                        </Storyboard>
+                                    </VisualState>
+                                    <VisualState x:Name="Focused">
+                                        <Storyboard>
+                                            <DoubleAnimation Duration="0" To="0" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="PlaceholderTextContentPresenter"/>
+                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(Control.Foreground)" Storyboard.TargetName="ContentElement">
+                                                <DiscreteObjectKeyFrame KeyTime="0">
+                                                    <DiscreteObjectKeyFrame.Value>
+                                                        <SolidColorBrush Color="Black"/>
+                                                    </DiscreteObjectKeyFrame.Value>
+                                                </DiscreteObjectKeyFrame>
+                                            </ObjectAnimationUsingKeyFrames>
+                                            <ColorAnimation Duration="0:0:0.2" To="White" Storyboard.TargetProperty="(Border.Background).(SolidColorBrush.Color)" Storyboard.TargetName="BorderElement" d:IsOptimized="True"/>
+                                            <ColorAnimation Duration="0:0:0.2" To="White" Storyboard.TargetProperty="(Border.BorderBrush).(SolidColorBrush.Color)" Storyboard.TargetName="BorderElement" d:IsOptimized="True"/>
+                                        </Storyboard>
+                                    </VisualState>
+                                </VisualStateGroup>
+                            </VisualStateManager.VisualStateGroups>
+                            <Border x:Name="BorderElement" BorderThickness="{TemplateBinding BorderThickness}" Grid.Row="1">
+                                <Border.BorderBrush>
+                                    <SolidColorBrush Color="{ThemeResource PhoneChromeColor}"/>
+                                </Border.BorderBrush>
+                                <Border.Background>
+                                    <SolidColorBrush Color="{ThemeResource PhoneChromeColor}"/>
+                                </Border.Background>
+                            </Border>
+                            <ContentPresenter x:Name="HeaderContentPresenter" ContentTemplate="{TemplateBinding HeaderTemplate}" Content="{TemplateBinding Header}" Margin="{ThemeResource TextControlHeaderMarginThemeThickness}" Grid.Row="0" Style="{StaticResource HeaderContentPresenterStyle}"/>
+                            <ScrollViewer x:Name="ContentElement" AutomationProperties.AccessibilityView="Raw" HorizontalScrollMode="{TemplateBinding ScrollViewer.HorizontalScrollMode}" HorizontalScrollBarVisibility="{TemplateBinding ScrollViewer.HorizontalScrollBarVisibility}" IsTabStop="False" IsHorizontalRailEnabled="{TemplateBinding ScrollViewer.IsHorizontalRailEnabled}" IsVerticalRailEnabled="{TemplateBinding ScrollViewer.IsVerticalRailEnabled}" IsDeferredScrollingEnabled="{TemplateBinding ScrollViewer.IsDeferredScrollingEnabled}" Margin="{TemplateBinding BorderThickness}" MinHeight="{ThemeResource TextControlThemeMinHeight}" Padding="{TemplateBinding Padding}" Grid.Row="1" VerticalScrollBarVisibility="{TemplateBinding ScrollViewer.VerticalScrollBarVisibility}" VerticalScrollMode="{TemplateBinding ScrollViewer.VerticalScrollMode}" ZoomMode="Disabled" HorizontalContentAlignment="Center" VerticalContentAlignment="Center"/>
+                            <ContentControl x:Name="PlaceholderTextContentPresenter" Content="{TemplateBinding PlaceholderText}" Foreground="{ThemeResource TextBoxPlaceholderTextThemeBrush}" FontSize="{ThemeResource ContentControlFontSize}" IsTabStop="False" Margin="{TemplateBinding BorderThickness}" Padding="{TemplateBinding Padding}" Grid.Row="1" HorizontalAlignment="Center" VerticalAlignment="Center"/>
+                        </Grid>
+                    </ControlTemplate>
+                </Setter.Value>
+            </Setter>
+        </Style>
+
+    </Application.Resources>
+
+</Application>
diff --git a/File360/App.xaml.cs b/File360/App.xaml.cs
@@ -1,231 +1,153 @@
-using System;
-using System.Diagnostics;
-using System.Resources;
-using System.Windows;
-using System.Windows.Markup;
-using System.Windows.Navigation;
-using Microsoft.Phone.Controls;
-using Microsoft.Phone.Shell;
-using File360.Resources;
+// Copyright (c) Microsoft. All rights reserved.
+
+using System;
+using System.Threading.Tasks;
+using Windows.ApplicationModel;
+using Windows.ApplicationModel.Activation;
+using Windows.UI.Xaml;
+using Windows.UI.Xaml.Controls;
+using Windows.UI.Xaml.Navigation;
+using Windows.UI;
+using File360.Common;
 
 namespace File360
 {
-    public partial class App : Application
+    /// <summary>
+    /// Provides application-specific behavior to supplement the default Application class.
+    /// </summary>
+    sealed partial class App : Application
     {
-
-        /// <summary>
-        /// Provides easy access to the root frame of the Phone Application.
-        /// </summary>
-        /// <returns>The root frame of the Phone Application.</returns>
-        public static PhoneApplicationFrame RootFrame { get; private set; }
-
+        public string UserName = "User";
+#if WINDOWS_PHONE_APP
+        ContinuationManager continuationManager;
+#endif
         /// <summary>
-        /// Constructor for the Application object.
+        /// Initializes the singleton Application object.  This is the first line of authored code
+        /// executed, and as such is the logical equivalent of main() or WinMain().
         /// </summary>
         public App()
         {
-            // Global handler for uncaught exceptions.
-            UnhandledException += Application_UnhandledException;
-
-            // Standard XAML initialization
-            InitializeComponent();
-
-            // Phone-specific initialization
-            InitializePhoneApplication();
-
-            // Language display initialization
-            InitializeLanguage();
+            this.InitializeComponent();
+            this.Suspending += OnSuspending;
+        }
+        public Color AccentColor { set; get; }
+        public Color ThemeColor { set; get; }
+        public Color FolderColor { set; get; }
+        public ColorList CurrentColorItem { set; get; }
+        
+        private Frame CreateRootFrame()
+        {
+            Frame rootFrame = Window.Current.Content as Frame;
 
-            // Show graphics profiling information while debugging.
-            if (Debugger.IsAttached)
+            // Do not repeat app initialization when the Window already has content,
+            // just ensure that the window is active
+            if (rootFrame == null)
             {
-                // Display the current frame rate counters
-                Application.Current.Host.Settings.EnableFrameRateCounter = true;
-
-                // Show the areas of the app that are being redrawn in each frame.
-                //Application.Current.Host.Settings.EnableRedrawRegions = true;
+                // Create a Frame to act as the navigation context and navigate to the first page
+                rootFrame = new Frame();
 
-                // Enable non-production analysis visualization mode,
-                // which shows areas of a page that are handed off to GPU with a colored overlay.
-                //Application.Current.Host.Settings.EnableCacheVisualization = true;
+                // Set the default language
+                rootFrame.Language = Windows.Globalization.ApplicationLanguages.Languages[0];
+                rootFrame.NavigationFailed += OnNavigationFailed;
 
-                // Prevent the screen from turning off while under the debugger by disabling
-                // the application's idle detection.
-                // Caution:- Use this under debug mode only. Application that disables user idle detection will continue to run
-                // and consume battery power when the user is not using the phone.
-                PhoneApplicationService.Current.UserIdleDetectionMode = IdleDetectionMode.Disabled;
+                // Place the frame in the current Window
+                Window.Current.Content = rootFrame;
             }
-        }
 
-        // Code to execute when the application is launching (eg, from Start)
-        // This code will not execute when the application is reactivated
-        private void Application_Launching(object sender, LaunchingEventArgs e)
-        {
+            return rootFrame;
         }
 
-        // Code to execute when the application is activated (brought to foreground)
-        // This code will not execute when the application is first launched
-        private void Application_Activated(object sender, ActivatedEventArgs e)
+        private async Task RestoreStatusAsync(ApplicationExecutionState previousExecutionState)
         {
-            // Ensure that application state is restored appropriately
-            
+            // Do not repeat app initialization when the Window already has content,
+            // just ensure that the window is active
+            if (previousExecutionState == ApplicationExecutionState.Terminated)
+            {
+                // Restore the saved session state only when appropriate
+                try
+                {
+                    await SuspensionManager.RestoreAsync();
+                }
+                catch (SuspensionManagerException)
+                {
+                    //Something went wrong restoring state.
+                    //Assume there is no state and continue
+                }
+            }
         }
 
-        // Code to execute when the application is deactivated (sent to background)
-        // This code will not execute when the application is closing
-        private void Application_Deactivated(object sender, DeactivatedEventArgs e)
+#if WINDOWS_PHONE_APP
+        /// <summary>
+        /// Handle OnActivated event to deal with File Open/Save continuation activation kinds
+        /// </summary>
+        /// <param name="e">Application activated event arguments, it can be casted to proper sub-type based on ActivationKind</param>
+        protected async override void OnActivated(IActivatedEventArgs e)
         {
-        }
+            base.OnActivated(e);
 
-        // Code to execute when the application is closing (eg, user hit Back)
-        // This code will not execute when the application is deactivated
-        private void Application_Closing(object sender, ClosingEventArgs e)
-        {
-            // Ensure that required application state is persisted here.
-        }
+            continuationManager = new ContinuationManager();
 
-        // Code to execute if a navigation fails
-        private void RootFrame_NavigationFailed(object sender, NavigationFailedEventArgs e)
-        {
-            if (Debugger.IsAttached)
+            Frame rootFrame = CreateRootFrame();
+            await RestoreStatusAsync(e.PreviousExecutionState);
+
+            if (rootFrame.Content == null)
             {
-                MessageBox.Show((e.Uri).ToString());
-                MessageBox.Show(e.Exception.ToString());
-                // A navigation has failed; break into the debugger
-                Debugger.Break();
+                rootFrame.Navigate(typeof(MainPage));
             }
-            
-        }
 
-        // Code to execute on Unhandled Exceptions
-        private void Application_UnhandledException(object sender, ApplicationUnhandledExceptionEventArgs e)
-        {
-            if (Debugger.IsAttached)
+            var continuationEventArgs = e as IContinuationActivatedEventArgs;
+            if (continuationEventArgs != null)
             {
-                // An unhandled exception has occurred; break into the debugger
-                //Debugger.Break();
+                if (rootFrame != null)
+                {
+                    // Call ContinuationManager to handle continuation activation
+                    continuationManager.Continue(continuationEventArgs, rootFrame);
+                }
             }
-        }
-
-        #region Phone application initialization
-
-        // Avoid double-initialization
-        private bool phoneApplicationInitialized = false;
-
-        // Do not add any additional code to this method
-        private void InitializePhoneApplication()
-        {
-            if (phoneApplicationInitialized)
-                return;
-
-            // Create the frame but don't set it as RootVisual yet; this allows the splash
-            // screen to remain active until the application is ready to render.
-            RootFrame = new PhoneApplicationFrame();
-            RootFrame.Navigated += CompleteInitializePhoneApplication;
-
-            RootFrame.UriMapper = new UriMapper();
-
-            // Handle navigation failures
-            RootFrame.NavigationFailed += RootFrame_NavigationFailed;
 
-            // Handle reset requests for clearing the backstack
-            RootFrame.Navigated += CheckForResetNavigation;
-
-            // Ensure we don't initialize again
-            phoneApplicationInitialized = true;
+            Window.Current.Activate();
         }
+#endif
 
-        // Do not add any additional code to this method
-        private void CompleteInitializePhoneApplication(object sender, NavigationEventArgs e)
+        /// <summary>
+        /// Invoked when the application is launched normally by the end user.  Other entry points
+        /// will be used such as when the application is launched to open a specific file.
+        /// </summary>
+        /// <param name="e">Details about the launch request and process.</param>
+        protected async override void OnLaunched(LaunchActivatedEventArgs e)
         {
-            // Set the root visual to allow the application to render
-            if (RootVisual != RootFrame)
-                RootVisual = RootFrame;
+            Frame rootFrame = CreateRootFrame();
+            await RestoreStatusAsync(e.PreviousExecutionState);
 
-            // Remove this handler since it is no longer needed
-            RootFrame.Navigated -= CompleteInitializePhoneApplication;
-        }
+            //MainPage is always in rootFrame so we don't have to worry about restoring the navigation state on resume
+            rootFrame.Navigate(typeof(MainPage), e.Arguments);
 
-        private void CheckForResetNavigation(object sender, NavigationEventArgs e)
-        {
-            // If the app has received a 'reset' navigation, then we need to check
-            // on the next navigation to see if the page stack should be reset
-            if (e.NavigationMode == NavigationMode.Reset)
-                RootFrame.Navigated += ClearBackStackAfterReset;
+            // Ensure the current window is active
+            Window.Current.Activate();
         }
 
-        private void ClearBackStackAfterReset(object sender, NavigationEventArgs e)
+        /// <summary>
+        /// Invoked when Navigation to a certain page fails
+        /// </summary>
+        /// <param name="sender">The Frame which failed navigation</param>
+        /// <param name="e">Details about the navigation failure</param>
+        void OnNavigationFailed(object sender, NavigationFailedEventArgs e)
         {
-            // Unregister the event so it doesn't get called again
-            RootFrame.Navigated -= ClearBackStackAfterReset;
-
-            // Only clear the stack for 'new' (forward) and 'refresh' navigations
-            if (e.NavigationMode != NavigationMode.New && e.NavigationMode != NavigationMode.Refresh)
-                return;
-
-            // For UI consistency, clear the entire page stack
-            while (RootFrame.RemoveBackEntry() != null)
-            {
-                ; // do nothing
-            }
+            throw new Exception("Failed to load Page " + e.SourcePageType.FullName);
         }
 
-        #endregion
-
-        // Initialize the app's font and flow direction as defined in its localized resource strings.
-        //
-        // To ensure that the font of your application is aligned with its supported languages and that the
-        // FlowDirection for each of those languages follows its traditional direction, ResourceLanguage
-        // and ResourceFlowDirection should be initialized in each resx file to match these values with that
-        // file's culture. For example:
-        //
-        // AppResources.es-ES.resx
-        //    ResourceLanguage's value should be "es-ES"
-        //    ResourceFlowDirection's value should be "LeftToRight"
-        //
-        // AppResources.ar-SA.resx
-        //     ResourceLanguage's value should be "ar-SA"
-        //     ResourceFlowDirection's value should be "RightToLeft"
-        //
-        // For more info on localizing Windows Phone apps see http://go.microsoft.com/fwlink/?LinkId=262072.
-        //
-        private void InitializeLanguage()
+        /// <summary>
+        /// Invoked when application execution is being suspended.  Application state is saved
+        /// without knowing whether the application will be terminated or resumed with the contents
+        /// of memory still intact.
+        /// </summary>
+        /// <param name="sender">The source of the suspend request.</param>
+        /// <param name="e">Details about the suspend request.</param>
+        private async void OnSuspending(object sender, SuspendingEventArgs e)
         {
-            try
-            {
-                // Set the font to match the display language defined by the
-                // ResourceLanguage resource string for each supported language.
-                //
-                // Fall back to the font of the neutral language if the Display
-                // language of the phone is not supported.
-                //
-                // If a compiler error is hit then ResourceLanguage is missing from
-                // the resource file.
-                RootFrame.Language = XmlLanguage.GetLanguage(AppResources.ResourceLanguage);
-
-                // Set the FlowDirection of all elements under the root frame based
-                // on the ResourceFlowDirection resource string for each
-                // supported language.
-                //
-                // If a compiler error is hit then ResourceFlowDirection is missing from
-                // the resource file.
-                FlowDirection flow = (FlowDirection)Enum.Parse(typeof(FlowDirection), AppResources.ResourceFlowDirection);
-                RootFrame.FlowDirection = flow;
-            }
-            catch
-            {
-                // If an exception is caught here it is most likely due to either
-                // ResourceLangauge not being correctly set to a supported language
-                // code or ResourceFlowDirection is set to a value other than LeftToRight
-                // or RightToLeft.
-
-                if (Debugger.IsAttached)
-                {
-                    Debugger.Break();
-                }
-
-                throw;
-            }
+            var deferral = e.SuspendingOperation.GetDeferral();
+            await SuspensionManager.SaveAsync();
+            deferral.Complete();
         }
     }
-}-
\ No newline at end of file
+}
diff --git a/File360/Assets/ARAM.png b/File360/Assets/ARAM.png  Binary files differ.
diff --git a/File360/Assets/Fine-Halftone-Screen-Small.png b/File360/Assets/Fine-Halftone-Screen-Small.png  Binary files differ.
diff --git a/File360/Assets/Font/Custom/ClearSans-Light.ttf b/File360/Assets/Font/Custom/ClearSans-Light.ttf  Binary files differ.
diff --git a/File360/Assets/Font/Custom/ClearSans-Thin.ttf b/File360/Assets/Font/Custom/ClearSans-Thin.ttf  Binary files differ.
diff --git a/File360/Assets/Font/Custom/HelveticaNeue-Thin.otf b/File360/Assets/Font/Custom/HelveticaNeue-Thin.otf  Binary files differ.
diff --git a/File360/Assets/Font/Custom/Lobster 1.4.otf b/File360/Assets/Font/Custom/Lobster 1.4.otf  Binary files differ.
diff --git a/File360/Assets/Font/Custom/Mohave.otf b/File360/Assets/Font/Custom/Mohave.otf  Binary files differ.
diff --git a/File360/Assets/Font/Custom/Raleway-Light.ttf b/File360/Assets/Font/Custom/Raleway-Light.ttf  Binary files differ.
diff --git a/File360/Assets/Font/Custom/Raleway-SemiBold.ttf b/File360/Assets/Font/Custom/Raleway-SemiBold.ttf  Binary files differ.
diff --git a/File360/Assets/Font/Custom/Raleway-Thin.ttf b/File360/Assets/Font/Custom/Raleway-Thin.ttf  Binary files differ.
diff --git a/File360/Assets/Font/Custom/Roboto-Thin.ttf b/File360/Assets/Font/Custom/Roboto-Thin.ttf  Binary files differ.
diff --git a/File360/Assets/Font/filetypes.ttf b/File360/Assets/Font/filetypes.ttf  Binary files differ.
diff --git a/File360/Assets/Font/iconfont.ttf b/File360/Assets/Font/iconfont.ttf  Binary files differ.
diff --git a/File360/Assets/Font/settingsfont.ttf b/File360/Assets/Font/settingsfont.ttf  Binary files differ.
diff --git a/File360/Assets/IMG-20150528-WA0003.jpg b/File360/Assets/IMG-20150528-WA0003.jpg  Binary files differ.
diff --git a/File360/Assets/Logo.scale-240.png b/File360/Assets/Logo.scale-240.png  Binary files differ.
diff --git a/File360/Assets/Maari-Tamil-2015-500x500.jpg b/File360/Assets/Maari-Tamil-2015-500x500.jpg  Binary files differ.
diff --git a/File360/Assets/SmallLogo.scale-240.png b/File360/Assets/SmallLogo.scale-240.png  Binary files differ.
diff --git a/File360/Assets/SplashScreen.scale-240.png b/File360/Assets/SplashScreen.scale-240.png  Binary files differ.
diff --git a/File360/Assets/Square71x71Logo.scale-240.png b/File360/Assets/Square71x71Logo.scale-240.png  Binary files differ.
diff --git a/File360/Assets/StoreLogo.scale-240.png b/File360/Assets/StoreLogo.scale-240.png  Binary files differ.
diff --git a/File360/Assets/WideLogo.scale-240.png b/File360/Assets/WideLogo.scale-240.png  Binary files differ.
diff --git a/File360/Assets/innerShadow.png b/File360/Assets/innerShadow.png  Binary files differ.
diff --git a/File360/Assets/mainDropShadow.png b/File360/Assets/mainDropShadow.png  Binary files differ.
diff --git a/File360/Assets/mainDropShadowTransparent.png b/File360/Assets/mainDropShadowTransparent.png  Binary files differ.
diff --git a/File360/Assets/main_drop_shadow_png 13-Dec-2007 09_42 31K.png b/File360/Assets/main_drop_shadow_png 13-Dec-2007 09_42 31K.png  Binary files differ.
diff --git a/File360/Assets/nullMusicArt.jpg b/File360/Assets/nullMusicArt.jpg  Binary files differ.
diff --git a/File360/Assets/pic (1).jpg b/File360/Assets/pic (1).jpg  Binary files differ.
diff --git a/File360/Assets/pic (2).jpg b/File360/Assets/pic (2).jpg  Binary files differ.
diff --git a/File360/Assets/pulse2.png b/File360/Assets/pulse2.png  Binary files differ.
diff --git a/File360/Assets/start3.png b/File360/Assets/start3.png  Binary files differ.
diff --git a/File360/Assets/url.png b/File360/Assets/url.png  Binary files differ.
diff --git a/File360/Assets/vertDrop.png b/File360/Assets/vertDrop.png  Binary files differ.
diff --git a/File360/BlankPage.xaml b/File360/BlankPage.xaml
@@ -0,0 +1,16 @@
+<Page
+    x:Class="File360.BlankPage"
+    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+    xmlns:local="using:File360"
+    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+    mc:Ignorable="d">
+    <Page.Resources>
+        
+    </Page.Resources>
+    <Page.Background>
+        <SolidColorBrush Color="#FFAC6A8E"/>
+    </Page.Background>
+    
+</Page>
diff --git a/File360/BlankPage.xaml.cs b/File360/BlankPage.xaml.cs
@@ -0,0 +1,39 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Runtime.InteropServices.WindowsRuntime;
+using Windows.Foundation;
+using Windows.Foundation.Collections;
+using Windows.UI.Xaml;
+using Windows.UI.Xaml.Controls;
+using Windows.UI.Xaml.Controls.Primitives;
+using Windows.UI.Xaml.Data;
+using Windows.UI.Xaml.Input;
+using Windows.UI.Xaml.Media;
+using Windows.UI.Xaml.Navigation;
+
+// The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkID=390556
+
+namespace File360
+{
+    /// <summary>
+    /// An empty page that can be used on its own or navigated to within a Frame.
+    /// </summary>
+    public sealed partial class BlankPage : Page
+    {
+        public BlankPage()
+        {
+            this.InitializeComponent();
+        }
+
+        /// <summary>
+        /// Invoked when this page is about to be displayed in a Frame.
+        /// </summary>
+        /// <param name="e">Event data that describes how this page was reached.
+        /// This parameter is typically used to configure the page.</param>
+        protected override void OnNavigatedTo(NavigationEventArgs e)
+        {
+        }
+    }
+}
diff --git a/File360/BoolToVisibilityConverter.cs b/File360/BoolToVisibilityConverter.cs
@@ -0,0 +1,39 @@
+namespace File360
+{
+    using System;
+    using Windows.UI.Xaml;
+    using Windows.UI.Xaml.Data;
+
+    /// <summary>
+    /// Converts a Boolean into a Visibility.
+    /// </summary>
+    public class BoolToVisibilityConverter : IValueConverter
+    {
+        /// <summary>
+        /// If set to True, conversion is reversed: True will become Collapsed.
+        /// </summary>
+        public bool IsReversed { get; set; }
+
+        public object Convert(object value, Type targetType, object parameter, string language)
+        {
+            var val = System.Convert.ToBoolean(value);
+            if (this.IsReversed)
+            {
+                val = !val;
+            }
+
+            if (val)
+            {
+                return Visibility.Visible;
+            }
+
+            return Visibility.Collapsed;
+        }
+
+        public object ConvertBack(object value, Type targetType, object parameter, string language)
+        {
+            throw new NotImplementedException();
+        }
+        
+    }
+}+
\ No newline at end of file
diff --git a/File360/BottomBarItem.xaml b/File360/BottomBarItem.xaml
@@ -0,0 +1,17 @@
+<Button
+    x:Class="File360.BottomBarItem"
+    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+    xmlns:local="using:File360"
+    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+    mc:Ignorable="d"
+    HorizontalAlignment="Right" 
+    BorderBrush="{x:Null}" 
+    RequestedTheme="Dark"
+    BorderThickness="1" FontWeight="Thin">
+    <StackPanel MinWidth="35" Grid.Column="1">
+            <TextBlock x:Name="imageText" FontSize="20" Text="c" FontFamily="Assets/Font/iconFont.ttf#iconfont" HorizontalAlignment="Center" VerticalAlignment="Bottom" Foreground="{ThemeResource PhoneForegroundBrush}" />
+            <TextBlock x:Name="contentText" Text="copy" Grid.Row="1" FontFamily="Assets/Font/Custom/Raleway-Light.ttf#Raleway" HorizontalAlignment="Center" VerticalAlignment="Top" FontSize="12" Foreground="{ThemeResource PhoneForegroundBrush}" FontWeight="Normal" />
+        </StackPanel>
+    </Button>
diff --git a/File360/BottomBarItem.xaml.cs b/File360/BottomBarItem.xaml.cs
@@ -0,0 +1,79 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Runtime.InteropServices.WindowsRuntime;
+using Windows.Foundation;
+using Windows.Foundation.Collections;
+using Windows.UI.Xaml;
+using Windows.UI.Xaml.Controls;
+using Windows.UI.Xaml.Controls.Primitives;
+using Windows.UI.Xaml.Data;
+using Windows.UI.Xaml.Input;
+using Windows.UI.Xaml.Media;
+using Windows.UI.Xaml.Navigation;
+
+// The User Control item template is documented at http://go.microsoft.com/fwlink/?LinkId=234236
+
+namespace File360
+{
+    public sealed partial class BottomBarItem : Button
+    {
+        public BottomBarItem()
+        {
+            this.InitializeComponent();
+            MinWidth = 5;
+            MinHeight = 5;
+            Loaded += BottomBarItem_Loaded;
+        }
+
+        public void Initialize()
+        {
+            if (IsVertical())
+            {
+                contentText.FontSize = Window.Current.Bounds.Width / 35;
+                imageText.FontSize = Window.Current.Bounds.Width / 20;
+            }
+            else
+            {
+                contentText.FontSize = Window.Current.Bounds.Height / 35; imageText.FontSize = Window.Current.Bounds.Height / 20;
+            }
+        }
+
+        public string ImageText
+        {
+            get { return imageText.Text; }
+            set { imageText.Text = value; }
+        }
+        public Brush ImageColor
+        {
+            get { return imageText.Foreground; }
+            set { imageText.Foreground = value; }
+        }
+        public Brush ContentColor
+        {
+            get { return contentText.Foreground; }
+            set { contentText.Foreground = value; }
+        }
+        public string ContentText
+        {
+            get { return contentText.Text; }
+            set { contentText.Text = value; }
+        }
+        void BottomBarItem_Loaded(object sender, RoutedEventArgs e)
+        {
+            Initialize();
+            Window.Current.SizeChanged += Current_SizeChanged;
+        }
+
+        void Current_SizeChanged(object sender, Windows.UI.Core.WindowSizeChangedEventArgs e)
+        {
+            //Initialize();
+        }
+        public bool IsVertical()
+        {
+            if (Window.Current.Bounds.Height > Window.Current.Bounds.Width) return true;
+            else return false;
+        }
+    }
+}
diff --git a/File360/CardDetails.xaml b/File360/CardDetails.xaml
@@ -0,0 +1,13 @@
+<Page
+    x:Class="File360.CardDetails"
+    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+    xmlns:local="using:File360"
+    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+    mc:Ignorable="d"
+    FontSize="18"
+    Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
+
+    
+</Page>
diff --git a/File360/CardDetails.xaml.cs b/File360/CardDetails.xaml.cs
@@ -0,0 +1,39 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Runtime.InteropServices.WindowsRuntime;
+using Windows.Foundation;
+using Windows.Foundation.Collections;
+using Windows.UI.Xaml;
+using Windows.UI.Xaml.Controls;
+using Windows.UI.Xaml.Controls.Primitives;
+using Windows.UI.Xaml.Data;
+using Windows.UI.Xaml.Input;
+using Windows.UI.Xaml.Media;
+using Windows.UI.Xaml.Navigation;
+
+// The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkID=390556
+
+namespace File360
+{
+    /// <summary>
+    /// An empty page that can be used on its own or navigated to within a Frame.
+    /// </summary>
+    public sealed partial class CardDetails : Page
+    {
+        public CardDetails()
+        {
+            this.InitializeComponent();
+        }
+
+        /// <summary>
+        /// Invoked when this page is about to be displayed in a Frame.
+        /// </summary>
+        /// <param name="e">Event data that describes how this page was reached.
+        /// This parameter is typically used to configure the page.</param>
+        protected override void OnNavigatedTo(NavigationEventArgs e)
+        {
+        }
+    }
+}
diff --git a/File360/ColorList.cs b/File360/ColorList.cs
@@ -0,0 +1,19 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Windows.UI;
+
+namespace File360
+{
+    public class ColorList
+    {
+        public string Color { get; set; }
+
+        public ColorList(string color)
+        {
+            this.Color = color;
+        }
+    }
+}
diff --git a/File360/ColorPicker.xaml b/File360/ColorPicker.xaml
@@ -0,0 +1,32 @@
+<UserControl
+    x:Class="File360.ColorPicker"
+    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+    xmlns:local="using:File360"
+    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+    mc:Ignorable="d">
+    <UserControl.Resources>
+        <DataTemplate x:Name="ColorsTemplate">
+            <StackPanel Height="60" Width="60">
+                <Rectangle Width="50" Height="50" Fill="{Binding Color}"/>
+            </StackPanel>
+        </DataTemplate>
+    </UserControl.Resources>
+    <StackPanel x:Name="stackPanel" Height="50">
+        <ToggleButton Style="{StaticResource DefaultToggleButton}" HorizontalAlignment="Stretch" HorizontalContentAlignment="Stretch" Unchecked="ButtonUncheck" Checked="ButtonCheck">
+            <Grid Height="50">
+                <Grid.ColumnDefinitions>
+                    <ColumnDefinition Width="Auto"/>
+                    <ColumnDefinition Width="*"/>
+                </Grid.ColumnDefinitions>
+                <TextBlock x:Name="ColorProperty" Text="app Accent" VerticalAlignment="Center" FontFamily="Assets/Font/Custom/HelveticaNeue-Thin.otf#Helvetica Neue" FontSize="20" FontWeight="Normal"/>
+                <Rectangle x:Name="RectangleFill" Margin="5,5,5,5" Grid.Column="1" HorizontalAlignment="Right" Height="40" Width="40" Fill="{ThemeResource PhoneAccentBrush}" Stroke="White"/>
+            </Grid>
+        </ToggleButton>
+        <TextBlock Margin="10,0,0,0" Text="choose color" FontSize="20"/>
+        <GridView x:Name="ColorContainer" ItemTemplate="{StaticResource ColorsTemplate}" 
+              SelectionChanged="ColorContainer_SelectionChanged" 
+              Height="245"/>
+    </StackPanel>
+</UserControl>
diff --git a/File360/ColorPicker.xaml.cs b/File360/ColorPicker.xaml.cs
@@ -0,0 +1,185 @@
+using System;
+using System.Collections.Generic;
+using Windows.UI;
+using Windows.UI.Xaml;
+using Windows.UI.Xaml.Controls;
+using Windows.UI.Xaml.Media;
+
+// The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkID=390556
+
+namespace File360
+{
+    /// <summary>
+    /// An empty page that can be used on its own or navigated to within a Frame.
+    /// </summary>
+    public sealed partial class ColorPicker : UserControl
+    {
+        public ColorPicker()
+        {
+            this.InitializeComponent();
+            Windows.Phone.UI.Input.HardwareButtons.BackPressed += HardwareButtons_BackPressed;
+            #region blahblahblah
+            //            string[] colorNames =
+            //{
+            //  "Yellow","BananaYellow","LaserLemon","Jasmine","Green","Emerald",
+            //  "GreenYellow","Lime","Chartreuse","LimeGreen","SpringGreen","LightGreen",
+            //  "MediumSeaGreen","MediumSpringGreen","Olive","SeaGreen","Red","OrangeRed",
+            //  "DarkOrange","Orange","ImperialRed","Maroon","Brown","Chocolate",
+            //  "Coral","Crimson","DarkSalmon","DeepPink","#Firebrick","HotPink",
+            //  "IndianRed","LightCoral","LightPink","LightSalmon","Magenta","MediumVioletRed",
+            //  "Orchid","PaleVioletRed","Salmon","SandyBrown","Navy","Indigo",
+            //  "MidnightBlue","Blue","Purple","BlueViolet","CornflowerBlue","Cyan",
+            //  "DarkCyan","DarkSlateBlue","DeepSkyBlue","DodgerBlue","LightBlue","LightSeaGreen",
+            //  "LightSkyBlue","LightSteelBlue","Mauve","MediumSlateBlue","RoyalBlue","SlateBlue",
+            //  "SlateGray","SteelBlue","Teal","Turquoise","DarkGrey","LightGray"
+            //};
+            #endregion
+
+        }
+
+        private void HardwareButtons_BackPressed(object sender, Windows.Phone.UI.Input.BackPressedEventArgs e)
+        {
+            Height = 50;
+        }
+
+        private void ColorSetInitializer(string n)
+        {
+            if (n == "0")
+            {
+                string[] accentColors =
+                {
+            "#FFFFFF00","#FFFFE135","#FFFFFF66","#FFF8DE7E","#FF008000","#FF008A00",
+            "#FFADFF2F","#FF00FF00","#FF7FFF00","#FF32CD32","#FF00FF7F","#FF90EE90",
+            "#FF3CB371","#FF00FA9A","#FF808000","#FF2E8B57","#FFFF0000","#FFFF4500",
+            "#FFFF8C00","#FFFFA500","#FFED2939","#FF800000","#FFA52A2A","#FFD2691E",
+            "#FFFF7F50","#FFDC143C","#FFE9967A","#FFFF1493","#FFB22222","#FFFF69B4",
+            "#FFCD5C5C","#FFF08080","#FFFFB6C1","#FFFFA07A","#FFFF00FF","#FFC71585",
+            "#FFDA70D6","#FFDB7093","#FFFA8072","#FFF4A460","#FF000080","#FF4B0082",
+            "#FF191970","#FF0000FF","#FF800080","#FF8A2BE2","#FF6495ED","#FF00FFFF",
+            "#FF008B8B","#FF483D8B","#FF00BFFF","#FF1E90FF","#FFADD8E6","#FF20B2AA",
+            "#FF87CEFA","#FFB0C4DE","#FF76608A","#FF7B68EE","#FF4169E1","#FF6A5ACD",
+            "#FF708090","#FF4682B4","#FF008080","#FF40E0D0","#FFA9A9A9","#FFD3D3D3"
+            };
+                List<ColorList> accentItem = new List<ColorList>();
+                for (int i = 0; i < 66; i++)
+                {
+                    accentItem.Add(new ColorList(accentColors[i]));
+                }
+                ColorContainer.ItemsSource = accentItem;
+            }
+            if (n == "1")
+            {
+                string[] themeColors =
+                {
+                "#FFFFFFFF","#FF000000"
+            };
+                List<ColorList> accentItem = new List<ColorList>();
+                for (int i = 0; i < 2; i++)
+                {
+                    accentItem.Add(new ColorList(themeColors[i]));
+                }
+                ColorContainer.ItemsSource = accentItem;
+            }
+            if (n == "2")
+            {
+                string[] folderColors =
+                {
+            "#FFFFFF00","#FFFFE135","#FFFFFF66","#FFF8DE7E","#FF008000","#FF008A00",
+            "#FFADFF2F","#FF00FF00","#FF7FFF00","#FF32CD32","#FF00FF7F","#FF90EE90",
+            "#FF3CB371","#FF00FA9A","#FF808000","#FF2E8B57","#FFFF0000","#FFFF4500",
+            "#FFFF8C00","#FFFFA500","#FFED2939","#FF800000","#FFA52A2A","#FFD2691E",
+            "#FFFF7F50","#FFDC143C","#FFE9967A","#FFFF1493","#FFB22222","#FFFF69B4",
+            "#FFCD5C5C","#FFF08080","#FFFFB6C1","#FFFFA07A","#FFFF00FF","#FFC71585",
+            "#FFDA70D6","#FFDB7093","#FFFA8072","#FFF4A460","#FF000080","#FF4B0082",
+            "#FF191970","#FF0000FF","#FF800080","#FF8A2BE2","#FF6495ED","#FF00FFFF",
+            "#FF008B8B","#FF483D8B","#FF00BFFF","#FF1E90FF","#FFADD8E6","#FF20B2AA",
+            "#FF87CEFA","#FFB0C4DE","#FF76608A","#FF7B68EE","#FF4169E1","#FF6A5ACD",
+            "#FF708090","#FF4682B4","#FF008080","#FF40E0D0","#FFA9A9A9","#FFD3D3D3"
+            };
+                List<ColorList> accentItem = new List<ColorList>();
+                for (int i = 0; i < 66; i++)
+                {
+                    accentItem.Add(new ColorList(folderColors[i]));
+                }
+                ColorContainer.ItemsSource = accentItem;
+            }
+        }
+
+        public string ColorSet
+        {
+            set { ColorSetInitializer(value); }
+        }
+
+        public string OptionName
+        {
+            get { return ColorProperty.Text; }
+            set { ColorProperty.Text = value; }
+        }
+        //public event EventArgs ColorSelected;
+        //private void lstColorPalette_SelectionChanged(object sender, SelectionChangedEventArgs e)
+        //{
+        //    if (ColorSelected != null)
+        //    {
+        //        //SelectedColor = objColor.ColorBrush;
+        //        //ColorSelectedEvent(this, EventArgs.Empty);
+        //    }
+        //}
+        public SolidColorBrush SelectedColor
+        {
+            get { return new SolidColorBrush(StringToColor(CurrentColorItem.Color)); }
+        }
+
+        public ColorList CurrentColorItem { set; get; }
+
+        private void ColorPickerPage_Loaded(object sender, RoutedEventArgs e)
+        {
+        }
+        private static Color StringToColor(string s)
+        {
+            // remove artifacts
+            s = s.Trim().TrimStart('#');
+
+            // only 8 (with alpha channel) or 6 symbols are allowed
+            if (s.Length != 8 && s.Length != 6)
+                throw new ArgumentException("Unknown string format!");
+
+            int startParseIndex = 0;
+            bool alphaChannelExists = s.Length == 8; // check if alpha canal exists            
+
+            // read alpha channel value
+            byte a = 255;
+            if (alphaChannelExists)
+            {
+                a = System.Convert.ToByte(s.Substring(0, 2), 16);
+                startParseIndex += 2;
+            }
+
+            // read r value
+            byte r = System.Convert.ToByte(s.Substring(startParseIndex, 2), 16);
+            startParseIndex += 2;
+            // read g value
+            byte g = System.Convert.ToByte(s.Substring(startParseIndex, 2), 16);
+            startParseIndex += 2;
+            // read b value
+            byte b = System.Convert.ToByte(s.Substring(startParseIndex, 2), 16);
+
+            return Color.FromArgb(a, r, g, b);
+        }
+        private void ColorContainer_SelectionChanged(object sender, SelectionChangedEventArgs e)
+        {
+            if (e.AddedItems.Count > 0)
+            {
+                CurrentColorItem = ((ColorList)e.AddedItems[0]);
+                RectangleFill.Fill = new SolidColorBrush(StringToColor(CurrentColorItem.Color));
+            }
+        }
+        private void ButtonCheck(object sender, RoutedEventArgs e)
+        {
+            stackPanel.Height = 300;
+        }
+        private void ButtonUncheck(object sender, RoutedEventArgs e)
+        {
+            stackPanel.Height = 50;
+        }
+    }
+}
diff --git a/File360/ColorSampler.cs b/File360/ColorSampler.cs
@@ -0,0 +1,36 @@
+using Windows.Graphics.Imaging;
+using Windows.UI;
+using Windows.UI.Xaml.Media.Imaging;
+
+namespace File360
+{
+    class ColorSampler
+    {
+        public Color GetPixel(WriteableBitmap wb)
+        {
+            int pixel; //ARGB variable with 32 int bytes where
+                       //sets of 8 bytes are: Alpha, Red, Green, Blue
+            byte r = 0;
+            byte g = 0;
+            byte b = 0;
+            int i = 0;
+            int j = 0;
+            //Skip every alternate pixel making the program 4 times faster
+            for (i = 0; i < wb.PixelWidth; i = i + 2)
+            {
+                for (j = 0; j < wb.PixelHeight; j = j + 2)
+                {
+                    pixel = WriteableBitmapExtensions.GetPixeli(wb,i,j); //the ARGB integer(pixel) has the colors of pixel (i,j)
+                    r = (byte)(r + (255 & (pixel >> 16))); //add up reds
+                    g = (byte)(g + (255 & (pixel >> 8))); //add up greens
+                    b = (byte)(b + (255 & (pixel))); //add up blues
+                }
+            }
+            r = (byte)(r / (wb.PixelWidth/2 * wb.PixelHeight/2));
+            g = (byte)(g / (wb.PixelWidth / 2 * wb.PixelHeight / 2));
+            b = (byte)(b / (wb.PixelWidth / 2 * wb.PixelHeight / 2));
+            return Color.FromArgb(100, r, g, b);
+        }
+    }
+    
+}
diff --git a/File360/Common/NavigationHelper.cs b/File360/Common/NavigationHelper.cs
@@ -0,0 +1,436 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Input;
+using Windows.System;
+using Windows.UI.Core;
+using Windows.UI.Xaml;
+using Windows.UI.Xaml.Controls;
+using Windows.UI.Xaml.Navigation;
+
+namespace File360.Common
+{
+    /// <summary>
+    /// NavigationHelper aids in navigation between pages.  It provides commands used to 
+    /// navigate back and forward as well as registers for standard mouse and keyboard 
+    /// shortcuts used to go back and forward in Windows and the hardware back button in
+    /// Windows Phone.  In addition it integrates SuspensionManger to handle process lifetime
+    /// management and state management when navigating between pages.
+    /// </summary>
+    /// <example>
+    /// To make use of NavigationHelper, follow these two steps or
+    /// start with a BasicPage or any other Page item template other than BlankPage.
+    /// 
+    /// 1) Create an instance of the NavigationHelper somewhere such as in the 
+    ///     constructor for the page and register a callback for the LoadState and 
+    ///     SaveState events.
+    /// <code>
+    ///     public MyPage()
+    ///     {
+    ///         this.InitializeComponent();
+    ///         var navigationHelper = new NavigationHelper(this);
+    ///         this.navigationHelper.LoadState += navigationHelper_LoadState;
+    ///         this.navigationHelper.SaveState += navigationHelper_SaveState;
+    ///     }
+    ///     
+    ///     private async void navigationHelper_LoadState(object sender, LoadStateEventArgs e)
+    ///     { }
+    ///     private async void navigationHelper_SaveState(object sender, LoadStateEventArgs e)
+    ///     { }
+    /// </code>
+    /// 
+    /// 2) Register the page to call into the NavigationHelper whenever the page participates 
+    ///     in navigation by overriding the <see cref="Windows.UI.Xaml.Controls.Page.OnNavigatedTo"/> 
+    ///     and <see cref="Windows.UI.Xaml.Controls.Page.OnNavigatedFrom"/> events.
+    /// <code>
+    ///     protected override void OnNavigatedTo(NavigationEventArgs e)
+    ///     {
+    ///         navigationHelper.OnNavigatedTo(e);
+    ///     }
+    ///     
+    ///     protected override void OnNavigatedFrom(NavigationEventArgs e)
+    ///     {
+    ///         navigationHelper.OnNavigatedFrom(e);
+    ///     }
+    /// </code>
+    /// </example>
+    [Windows.Foundation.Metadata.WebHostHidden]
+    public class NavigationHelper : DependencyObject
+    {
+        private Page Page { get; set; }
+        private Frame Frame { get { return this.Page.Frame; } }
+
+        /// <summary>
+        /// Initializes a new instance of the <see cref="NavigationHelper"/> class.
+        /// </summary>
+        /// <param name="page">A reference to the current page used for navigation.  
+        /// This reference allows for frame manipulation and to ensure that keyboard 
+        /// navigation requests only occur when the page is occupying the entire window.</param>
+        public NavigationHelper(Page page)
+        {
+            this.Page = page;
+
+            // When this page is part of the visual tree make two changes:
+            // 1) Map application view state to visual state for the page
+            // 2) Handle hardware navigation requests
+            this.Page.Loaded += (sender, e) =>
+            {
+#if WINDOWS_PHONE_APP
+                Windows.Phone.UI.Input.HardwareButtons.BackPressed += HardwareButtons_BackPressed;
+#else
+                // Keyboard and mouse navigation only apply when occupying the entire window
+                if (this.Page.ActualHeight == Window.Current.Bounds.Height &&
+                    this.Page.ActualWidth == Window.Current.Bounds.Width)
+                {
+                    // Listen to the window directly so focus isn't required
+                    Window.Current.CoreWindow.Dispatcher.AcceleratorKeyActivated +=
+                        CoreDispatcher_AcceleratorKeyActivated;
+                    Window.Current.CoreWindow.PointerPressed +=
+                        this.CoreWindow_PointerPressed;
+                }
+#endif
+            };
+
+            // Undo the same changes when the page is no longer visible
+            this.Page.Unloaded += (sender, e) =>
+            {
+#if WINDOWS_PHONE_APP
+                Windows.Phone.UI.Input.HardwareButtons.BackPressed -= HardwareButtons_BackPressed;
+#else
+                Window.Current.CoreWindow.Dispatcher.AcceleratorKeyActivated -=
+                    CoreDispatcher_AcceleratorKeyActivated;
+                Window.Current.CoreWindow.PointerPressed -=
+                    this.CoreWindow_PointerPressed;
+#endif
+            };
+        }
+
+        #region Navigation support
+
+        RelayCommand _goBackCommand;
+        RelayCommand _goForwardCommand;
+
+        /// <summary>
+        /// <see cref="RelayCommand"/> used to bind to the back Button's Command property
+        /// for navigating to the most recent item in back navigation history, if a Frame
+        /// manages its own navigation history.
+        /// 
+        /// The <see cref="RelayCommand"/> is set up to use the virtual method <see cref="GoBack"/>
+        /// as the Execute Action and <see cref="CanGoBack"/> for CanExecute.
+        /// </summary>
+        public RelayCommand GoBackCommand
+        {
+            get
+            {
+                if (_goBackCommand == null)
+                {
+                    _goBackCommand = new RelayCommand(
+                        () => this.GoBack(),
+                        () => this.CanGoBack());
+                }
+                return _goBackCommand;
+            }
+            set
+            {
+                _goBackCommand = value;
+            }
+        }
+        /// <summary>
+        /// <see cref="RelayCommand"/> used for navigating to the most recent item in 
+        /// the forward navigation history, if a Frame manages its own navigation history.
+        /// 
+        /// The <see cref="RelayCommand"/> is set up to use the virtual method <see cref="GoForward"/>
+        /// as the Execute Action and <see cref="CanGoForward"/> for CanExecute.
+        /// </summary>
+        public RelayCommand GoForwardCommand
+        {
+            get
+            {
+                if (_goForwardCommand == null)
+                {
+                    _goForwardCommand = new RelayCommand(
+                        () => this.GoForward(),
+                        () => this.CanGoForward());
+                }
+                return _goForwardCommand;
+            }
+        }
+
+        /// <summary>
+        /// Virtual method used by the <see cref="GoBackCommand"/> property
+        /// to determine if the <see cref="Frame"/> can go back.
+        /// </summary>
+        /// <returns>
+        /// true if the <see cref="Frame"/> has at least one entry 
+        /// in the back navigation history.
+        /// </returns>
+        public virtual bool CanGoBack()
+        {
+            return this.Frame != null && this.Frame.CanGoBack;
+        }
+        /// <summary>
+        /// Virtual method used by the <see cref="GoForwardCommand"/> property
+        /// to determine if the <see cref="Frame"/> can go forward.
+        /// </summary>
+        /// <returns>
+        /// true if the <see cref="Frame"/> has at least one entry 
+        /// in the forward navigation history.
+        /// </returns>
+        public virtual bool CanGoForward()
+        {
+            return this.Frame != null && this.Frame.CanGoForward;
+        }
+
+        /// <summary>
+        /// Virtual method used by the <see cref="GoBackCommand"/> property
+        /// to invoke the <see cref="Windows.UI.Xaml.Controls.Frame.GoBack"/> method.
+        /// </summary>
+        public virtual void GoBack()
+        {
+            if (this.Frame != null && this.Frame.CanGoBack) this.Frame.GoBack();
+        }
+        /// <summary>
+        /// Virtual method used by the <see cref="GoForwardCommand"/> property
+        /// to invoke the <see cref="Windows.UI.Xaml.Controls.Frame.GoForward"/> method.
+        /// </summary>
+        public virtual void GoForward()
+        {
+            if (this.Frame != null && this.Frame.CanGoForward) this.Frame.GoForward();
+        }
+
+#if WINDOWS_PHONE_APP
+        /// <summary>
+        /// Invoked when the hardware back button is pressed. For Windows Phone only.
+        /// </summary>
+        /// <param name="sender">Instance that triggered the event.</param>
+        /// <param name="e">Event data describing the conditions that led to the event.</param>
+        private void HardwareButtons_BackPressed(object sender, Windows.Phone.UI.Input.BackPressedEventArgs e)
+        {
+            if (this.GoBackCommand.CanExecute(null))
+            {
+                e.Handled = true;
+                this.GoBackCommand.Execute(null);
+            }
+        }
+#else
+        /// <summary>
+        /// Invoked on every keystroke, including system keys such as Alt key combinations, when
+        /// this page is active and occupies the entire window.  Used to detect keyboard navigation
+        /// between pages even when the page itself doesn't have focus.
+        /// </summary>
+        /// <param name="sender">Instance that triggered the event.</param>
+        /// <param name="e">Event data describing the conditions that led to the event.</param>
+        private void CoreDispatcher_AcceleratorKeyActivated(CoreDispatcher sender,
+            AcceleratorKeyEventArgs e)
+        {
+            var virtualKey = e.VirtualKey;
+
+            // Only investigate further when Left, Right, or the dedicated Previous or Next keys
+            // are pressed
+            if ((e.EventType == CoreAcceleratorKeyEventType.SystemKeyDown ||
+                e.EventType == CoreAcceleratorKeyEventType.KeyDown) &&
+                (virtualKey == VirtualKey.Left || virtualKey == VirtualKey.Right ||
+                (int)virtualKey == 166 || (int)virtualKey == 167))
+            {
+                var coreWindow = Window.Current.CoreWindow;
+                var downState = CoreVirtualKeyStates.Down;
+                bool menuKey = (coreWindow.GetKeyState(VirtualKey.Menu) & downState) == downState;
+                bool controlKey = (coreWindow.GetKeyState(VirtualKey.Control) & downState) == downState;
+                bool shiftKey = (coreWindow.GetKeyState(VirtualKey.Shift) & downState) == downState;
+                bool noModifiers = !menuKey && !controlKey && !shiftKey;
+                bool onlyAlt = menuKey && !controlKey && !shiftKey;
+
+                if (((int)virtualKey == 166 && noModifiers) ||
+                    (virtualKey == VirtualKey.Left && onlyAlt))
+                {
+                    // When the previous key or Alt+Left are pressed navigate back
+                    e.Handled = true;
+                    this.GoBackCommand.Execute(null);
+                }
+                else if (((int)virtualKey == 167 && noModifiers) ||
+                    (virtualKey == VirtualKey.Right && onlyAlt))
+                {
+                    // When the next key or Alt+Right are pressed navigate forward
+                    e.Handled = true;
+                    this.GoForwardCommand.Execute(null);
+                }
+            }
+        }
+
+        /// <summary>
+        /// Invoked on every mouse click, touch screen tap, or equivalent interaction when this
+        /// page is active and occupies the entire window.  Used to detect browser-style next and
+        /// previous mouse button clicks to navigate between pages.
+        /// </summary>
+        /// <param name="sender">Instance that triggered the event.</param>
+        /// <param name="e">Event data describing the conditions that led to the event.</param>
+        private void CoreWindow_PointerPressed(CoreWindow sender,
+            PointerEventArgs e)
+        {
+            var properties = e.CurrentPoint.Properties;
+
+            // Ignore button chords with the left, right, and middle buttons
+            if (properties.IsLeftButtonPressed || properties.IsRightButtonPressed ||
+                properties.IsMiddleButtonPressed) return;
+
+            // If back or foward are pressed (but not both) navigate appropriately
+            bool backPressed = properties.IsXButton1Pressed;
+            bool forwardPressed = properties.IsXButton2Pressed;
+            if (backPressed ^ forwardPressed)
+            {
+                e.Handled = true;
+                if (backPressed) this.GoBackCommand.Execute(null);
+                if (forwardPressed) this.GoForwardCommand.Execute(null);
+            }
+        }
+#endif
+
+        #endregion
+
+        #region Process lifetime management
+
+        private String _pageKey;
+
+        /// <summary>
+        /// Register this event on the current page to populate the page
+        /// with content passed during navigation as well as any saved
+        /// state provided when recreating a page from a prior session.
+        /// </summary>
+        public event LoadStateEventHandler LoadState;
+        /// <summary>
+        /// Register this event on the current page to preserve
+        /// state associated with the current page in case the
+        /// application is suspended or the page is discarded from
+        /// the navigaqtion cache.
+        /// </summary>
+        public event SaveStateEventHandler SaveState;
+
+        /// <summary>
+        /// Invoked when this page is about to be displayed in a Frame.  
+        /// This method calls <see cref="LoadState"/>, where all page specific
+        /// navigation and process lifetime management logic should be placed.
+        /// </summary>
+        /// <param name="e">Event data that describes how this page was reached.  The Parameter
+        /// property provides the group to be displayed.</param>
+        public void OnNavigatedTo(NavigationEventArgs e)
+        {
+            var frameState = SuspensionManager.SessionStateForFrame(this.Frame);
+            this._pageKey = "Page-" + this.Frame.BackStackDepth;
+
+            if (e.NavigationMode == NavigationMode.New)
+            {
+                // Clear existing state for forward navigation when adding a new page to the
+                // navigation stack
+                var nextPageKey = this._pageKey;
+                int nextPageIndex = this.Frame.BackStackDepth;
+                while (frameState.Remove(nextPageKey))
+                {
+                    nextPageIndex++;
+                    nextPageKey = "Page-" + nextPageIndex;
+                }
+
+                // Pass the navigation parameter to the new page
+                if (this.LoadState != null)
+                {
+                    this.LoadState(this, new LoadStateEventArgs(e.Parameter, null));
+                }
+            }
+            else
+            {
+                // Pass the navigation parameter and preserved page state to the page, using
+                // the same strategy for loading suspended state and recreating pages discarded
+                // from cache
+                if (this.LoadState != null)
+                {
+                    this.LoadState(this, new LoadStateEventArgs(e.Parameter, (Dictionary<String, Object>)frameState[this._pageKey]));
+                }
+            }
+        }
+
+        /// <summary>
+        /// Invoked when this page will no longer be displayed in a Frame.
+        /// This method calls <see cref="SaveState"/>, where all page specific
+        /// navigation and process lifetime management logic should be placed.
+        /// </summary>
+        /// <param name="e">Event data that describes how this page was reached.  The Parameter
+        /// property provides the group to be displayed.</param>
+        public void OnNavigatedFrom(NavigationEventArgs e)
+        {
+            var frameState = SuspensionManager.SessionStateForFrame(this.Frame);
+            var pageState = new Dictionary<String, Object>();
+            if (this.SaveState != null)
+            {
+                this.SaveState(this, new SaveStateEventArgs(pageState));
+            }
+            frameState[_pageKey] = pageState;
+        }
+
+        #endregion
+    }
+
+    /// <summary>
+    /// Represents the method that will handle the <see cref="NavigationHelper.LoadState"/>event
+    /// </summary>
+    public delegate void LoadStateEventHandler(object sender, LoadStateEventArgs e);
+    /// <summary>
+    /// Represents the method that will handle the <see cref="NavigationHelper.SaveState"/>event
+    /// </summary>
+    public delegate void SaveStateEventHandler(object sender, SaveStateEventArgs e);
+
+    /// <summary>
+    /// Class used to hold the event data required when a page attempts to load state.
+    /// </summary>
+    public class LoadStateEventArgs : EventArgs
+    {
+        /// <summary>
+        /// The parameter value passed to <see cref="Frame.Navigate(Type, Object)"/> 
+        /// when this page was initially requested.
+        /// </summary>
+        public Object NavigationParameter { get; private set; }
+        /// <summary>
+        /// A dictionary of state preserved by this page during an earlier
+        /// session.  This will be null the first time a page is visited.
+        /// </summary>
+        public Dictionary<string, Object> PageState { get; private set; }
+
+        /// <summary>
+        /// Initializes a new instance of the <see cref="LoadStateEventArgs"/> class.
+        /// </summary>
+        /// <param name="navigationParameter">
+        /// The parameter value passed to <see cref="Frame.Navigate(Type, Object)"/> 
+        /// when this page was initially requested.
+        /// </param>
+        /// <param name="pageState">
+        /// A dictionary of state preserved by this page during an earlier
+        /// session.  This will be null the first time a page is visited.
+        /// </param>
+        public LoadStateEventArgs(Object navigationParameter, Dictionary<string, Object> pageState)
+            : base()
+        {
+            this.NavigationParameter = navigationParameter;
+            this.PageState = pageState;
+        }
+    }
+    /// <summary>
+    /// Class used to hold the event data required when a page attempts to save state.
+    /// </summary>
+    public class SaveStateEventArgs : EventArgs
+    {
+        /// <summary>
+        /// An empty dictionary to be populated with serializable state.
+        /// </summary>
+        public Dictionary<string, Object> PageState { get; private set; }
+
+        /// <summary>
+        /// Initializes a new instance of the <see cref="SaveStateEventArgs"/> class.
+        /// </summary>
+        /// <param name="pageState">An empty dictionary to be populated with serializable state.</param>
+        public SaveStateEventArgs(Dictionary<string, Object> pageState)
+            : base()
+        {
+            this.PageState = pageState;
+        }
+    }
+}
diff --git a/File360/Common/ObservableDictionary.cs b/File360/Common/ObservableDictionary.cs
@@ -0,0 +1,149 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using Windows.Foundation.Collections;
+
+namespace File360.Common
+{
+    /// <summary>
+    /// Implementation of IObservableMap that supports reentrancy for use as a default view
+    /// model.
+    /// </summary>
+    public class ObservableDictionary : IObservableMap<string, object>
+    {
+        private class ObservableDictionaryChangedEventArgs : IMapChangedEventArgs<string>
+        {
+            public ObservableDictionaryChangedEventArgs(CollectionChange change, string key)
+            {
+                this.CollectionChange = change;
+                this.Key = key;
+            }
+
+            public CollectionChange CollectionChange { get; private set; }
+            public string Key { get; private set; }
+        }
+
+        private Dictionary<string, object> _dictionary = new Dictionary<string, object>();
+        public event MapChangedEventHandler<string, object> MapChanged;
+
+        private void InvokeMapChanged(CollectionChange change, string key)
+        {
+            var eventHandler = MapChanged;
+            if (eventHandler != null)
+            {
+                eventHandler(this, new ObservableDictionaryChangedEventArgs(change, key));
+            }
+        }
+
+        public void Add(string key, object value)
+        {
+            this._dictionary.Add(key, value);
+            this.InvokeMapChanged(CollectionChange.ItemInserted, key);
+        }
+
+        public void Add(KeyValuePair<string, object> item)
+        {
+            this.Add(item.Key, item.Value);
+        }
+
+        public bool Remove(string key)
+        {
+            if (this._dictionary.Remove(key))
+            {
+                this.InvokeMapChanged(CollectionChange.ItemRemoved, key);
+                return true;
+            }
+            return false;
+        }
+
+        public bool Remove(KeyValuePair<string, object> item)
+        {
+            object currentValue;
+            if (this._dictionary.TryGetValue(item.Key, out currentValue) &&
+                Object.Equals(item.Value, currentValue) && this._dictionary.Remove(item.Key))
+            {
+                this.InvokeMapChanged(CollectionChange.ItemRemoved, item.Key);
+                return true;
+            }
+            return false;
+        }
+
+        public object this[string key]
+        {
+            get
+            {
+                return this._dictionary[key];
+            }
+            set
+            {
+                this._dictionary[key] = value;
+                this.InvokeMapChanged(CollectionChange.ItemChanged, key);
+            }
+        }
+
+        public void Clear()
+        {
+            var priorKeys = this._dictionary.Keys.ToArray();
+            this._dictionary.Clear();
+            foreach (var key in priorKeys)
+            {
+                this.InvokeMapChanged(CollectionChange.ItemRemoved, key);
+            }
+        }
+
+        public ICollection<string> Keys
+        {
+            get { return this._dictionary.Keys; }
+        }
+
+        public bool ContainsKey(string key)
+        {
+            return this._dictionary.ContainsKey(key);
+        }
+
+        public bool TryGetValue(string key, out object value)
+        {
+            return this._dictionary.TryGetValue(key, out value);
+        }
+
+        public ICollection<object> Values
+        {
+            get { return this._dictionary.Values; }
+        }
+
+        public bool Contains(KeyValuePair<string, object> item)
+        {
+            return this._dictionary.Contains(item);
+        }
+
+        public int Count
+        {
+            get { return this._dictionary.Count; }
+        }
+
+        public bool IsReadOnly
+        {
+            get { return false; }
+        }
+
+        public IEnumerator<KeyValuePair<string, object>> GetEnumerator()
+        {
+            return this._dictionary.GetEnumerator();
+        }
+
+        System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
+        {
+            return this._dictionary.GetEnumerator();
+        }
+
+        public void CopyTo(KeyValuePair<string, object>[] array, int arrayIndex)
+        {
+            int arraySize = array.Length;
+            foreach (var pair in this._dictionary)
+            {
+                if (arrayIndex >= arraySize) break;
+                array[arrayIndex++] = pair;
+            }
+        }
+    }
+}
diff --git a/File360/Common/ReadMe.txt b/File360/Common/ReadMe.txt
@@ -0,0 +1,7 @@
+The Common directory contains classes that simplify application development.
+
+Classes in the Common directory form part of your project and may be further enhanced to meet your
+needs.  Care should be taken when altering existing methods and properties as incompatible changes
+will require corresponding changes to code included in a variety of Visual Studio templates.  For
+example, additional pages added to your project are written assuming that the original methods and
+properties in Common classes are still present and that the names of the types have not changed.+
\ No newline at end of file
diff --git a/File360/Common/RelayCommand.cs b/File360/Common/RelayCommand.cs
@@ -0,0 +1,86 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Input;
+
+namespace File360.Common
+{
+    /// <summary>
+    /// A command whose sole purpose is to relay its functionality 
+    /// to other objects by invoking delegates. 
+    /// The default return value for the CanExecute method is 'true'.
+    /// <see cref="RaiseCanExecuteChanged"/> needs to be called whenever
+    /// <see cref="CanExecute"/> is expected to return a different value.
+    /// </summary>
+    public class RelayCommand : ICommand
+    {
+        private readonly Action _execute;
+        private readonly Func<bool> _canExecute;
+
+        /// <summary>
+        /// Raised when RaiseCanExecuteChanged is called.
+        /// </summary>
+        public event EventHandler CanExecuteChanged;
+
+        /// <summary>
+        /// Creates a new command that can always execute.
+        /// </summary>
+        /// <param name="execute">The execution logic.</param>
+        public RelayCommand(Action execute)
+            : this(execute, null)
+        {
+        }
+
+        /// <summary>
+        /// Creates a new command.
+        /// </summary>
+        /// <param name="execute">The execution logic.</param>
+        /// <param name="canExecute">The execution status logic.</param>
+        public RelayCommand(Action execute, Func<bool> canExecute)
+        {
+            if (execute == null)
+                throw new ArgumentNullException("execute");
+            _execute = execute;
+            _canExecute = canExecute;
+        }
+
+        /// <summary>
+        /// Determines whether this <see cref="RelayCommand"/> can execute in its current state.
+        /// </summary>
+        /// <param name="parameter">
+        /// Data used by the command. If the command does not require data to be passed, this object can be set to null.
+        /// </param>
+        /// <returns>true if this command can be executed; otherwise, false.</returns>
+        public bool CanExecute(object parameter)
+        {
+            return _canExecute == null ? true : _canExecute();
+        }
+
+        /// <summary>
+        /// Executes the <see cref="RelayCommand"/> on the current command target.
+        /// </summary>
+        /// <param name="parameter">
+        /// Data used by the command. If the command does not require data to be passed, this object can be set to null.
+        /// </param>
+        public void Execute(object parameter)
+        {
+            _execute();
+        }
+
+        /// <summary>
+        /// Method used to raise the <see cref="CanExecuteChanged"/> event
+        /// to indicate that the return value of the <see cref="CanExecute"/>
+        /// method has changed.
+        /// </summary>
+        public void RaiseCanExecuteChanged()
+        {
+            var handler = CanExecuteChanged;
+            if (handler != null)
+            {
+                handler(this, EventArgs.Empty);
+            }
+        }
+    }
+}+
\ No newline at end of file
diff --git a/File360/Common/SuspensionManager.cs b/File360/Common/SuspensionManager.cs
@@ -0,0 +1,269 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Runtime.Serialization;
+using System.Text;
+using System.Threading.Tasks;
+using Windows.ApplicationModel;
+using Windows.Storage;
+using Windows.Storage.Streams;
+using Windows.UI.Xaml;
+using Windows.UI.Xaml.Controls;
+
+namespace File360.Common
+{
+    /// <summary>
+    /// SuspensionManager captures global session state to simplify process lifetime management
+    /// for an application.  Note that session state will be automatically cleared under a variety
+    /// of conditions and should only be used to store information that would be convenient to
+    /// carry across sessions, but that should be discarded when an application crashes or is
+    /// upgraded.
+    /// </summary>
+    internal sealed class SuspensionManager
+    {
+        private static Dictionary<string, object> _sessionState = new Dictionary<string, object>();
+        private static List<Type> _knownTypes = new List<Type>();
+        private const string sessionStateFilename = "_sessionState.xml";
+
+        /// <summary>
+        /// Provides access to global session state for the current session.  This state is
+        /// serialized by <see cref="SaveAsync"/> and restored by
+        /// <see cref="RestoreAsync"/>, so values must be serializable by
+        /// <see cref="DataContractSerializer"/> and should be as compact as possible.  Strings
+        /// and other self-contained data types are strongly recommended.
+        /// </summary>
+        public static Dictionary<string, object> SessionState
+        {
+            get { return _sessionState; }
+        }
+
+        /// <summary>
+        /// List of custom types provided to the <see cref="DataContractSerializer"/> when
+        /// reading and writing session state.  Initially empty, additional types may be
+        /// added to customize the serialization process.
+        /// </summary>
+        public static List<Type> KnownTypes
+        {
+            get { return _knownTypes; }
+        }
+
+        /// <summary>
+        /// Save the current <see cref="SessionState"/>.  Any <see cref="Frame"/> instances
+        /// registered with <see cref="RegisterFrame"/> will also preserve their current
+        /// navigation stack, which in turn gives their active <see cref="Page"/> an opportunity
+        /// to save its state.
+        /// </summary>
+        /// <returns>An asynchronous task that reflects when session state has been saved.</returns>
+        public static async Task SaveAsync()
+        {
+            try
+            {
+                // Save the navigation state for all registered frames
+                foreach (var weakFrameReference in _registeredFrames)
+                {
+                    Frame frame;
+                    if (weakFrameReference.TryGetTarget(out frame))
+                    {
+                        SaveFrameNavigationState(frame);
+                    }
+                }
+
+                // Serialize the session state synchronously to avoid asynchronous access to shared
+                // state
+                MemoryStream sessionData = new MemoryStream();
+                DataContractSerializer serializer = new DataContractSerializer(typeof(Dictionary<string, object>), _knownTypes);
+                serializer.WriteObject(sessionData, _sessionState);
+
+                // Get an output stream for the SessionState file and write the state asynchronously
+                StorageFile file = await ApplicationData.Current.LocalFolder.CreateFileAsync(sessionStateFilename, CreationCollisionOption.ReplaceExisting);
+                using (Stream fileStream = await file.OpenStreamForWriteAsync())
+                {
+                    sessionData.Seek(0, SeekOrigin.Begin);
+                    await sessionData.CopyToAsync(fileStream);
+                }
+            }
+            catch (Exception e)
+            {
+                throw new SuspensionManagerException(e);
+            }
+        }
+
+        /// <summary>
+        /// Restores previously saved <see cref="SessionState"/>.  Any <see cref="Frame"/> instances
+        /// registered with <see cref="RegisterFrame"/> will also restore their prior navigation
+        /// state, which in turn gives their active <see cref="Page"/> an opportunity restore its
+        /// state.
+        /// </summary>
+        /// <param name="sessionBaseKey">An optional key that identifies the type of session.
+        /// This can be used to distinguish between multiple application launch scenarios.</param>
+        /// <returns>An asynchronous task that reflects when session state has been read.  The
+        /// content of <see cref="SessionState"/> should not be relied upon until this task
+        /// completes.</returns>
+        public static async Task RestoreAsync(String sessionBaseKey = null)
+        {
+            _sessionState = new Dictionary<String, Object>();
+
+            try
+            {
+                // Get the input stream for the SessionState file
+                StorageFile file = await ApplicationData.Current.LocalFolder.GetFileAsync(sessionStateFilename);
+                using (IInputStream inStream = await file.OpenSequentialReadAsync())
+                {
+                    // Deserialize the Session State
+                    DataContractSerializer serializer = new DataContractSerializer(typeof(Dictionary<string, object>), _knownTypes);
+                    _sessionState = (Dictionary<string, object>)serializer.ReadObject(inStream.AsStreamForRead());
+                }
+
+                // Restore any registered frames to their saved state
+                foreach (var weakFrameReference in _registeredFrames)
+                {
+                    Frame frame;
+                    if (weakFrameReference.TryGetTarget(out frame) && (string)frame.GetValue(FrameSessionBaseKeyProperty) == sessionBaseKey)
+                    {
+                        frame.ClearValue(FrameSessionStateProperty);
+                        RestoreFrameNavigationState(frame);
+                    }
+                }
+            }
+            catch (Exception e)
+            {
+                throw new SuspensionManagerException(e);
+            }
+        }
+
+        private static DependencyProperty FrameSessionStateKeyProperty =
+            DependencyProperty.RegisterAttached("_FrameSessionStateKey", typeof(String), typeof(SuspensionManager), null);
+        private static DependencyProperty FrameSessionBaseKeyProperty =
+            DependencyProperty.RegisterAttached("_FrameSessionBaseKeyParams", typeof(String), typeof(SuspensionManager), null);
+        private static DependencyProperty FrameSessionStateProperty =
+            DependencyProperty.RegisterAttached("_FrameSessionState", typeof(Dictionary<String, Object>), typeof(SuspensionManager), null);
+        private static List<WeakReference<Frame>> _registeredFrames = new List<WeakReference<Frame>>();
+
+        /// <summary>
+        /// Registers a <see cref="Frame"/> instance to allow its navigation history to be saved to
+        /// and restored from <see cref="SessionState"/>.  Frames should be registered once
+        /// immediately after creation if they will participate in session state management.  Upon
+        /// registration if state has already been restored for the specified key
+        /// the navigation history will immediately be restored.  Subsequent invocations of
+        /// <see cref="RestoreAsync"/> will also restore navigation history.
+        /// </summary>
+        /// <param name="frame">An instance whose navigation history should be managed by
+        /// <see cref="SuspensionManager"/></param>
+        /// <param name="sessionStateKey">A unique key into <see cref="SessionState"/> used to
+        /// store navigation-related information.</param>
+        /// <param name="sessionBaseKey">An optional key that identifies the type of session.
+        /// This can be used to distinguish between multiple application launch scenarios.</param>
+        public static void RegisterFrame(Frame frame, String sessionStateKey, String sessionBaseKey = null)
+        {
+            if (frame.GetValue(FrameSessionStateKeyProperty) != null)
+            {
+                throw new InvalidOperationException("Frames can only be registered to one session state key");
+            }
+
+            if (frame.GetValue(FrameSessionStateProperty) != null)
+            {
+                throw new InvalidOperationException("Frames must be either be registered before accessing frame session state, or not registered at all");
+            }
+
+            if (!string.IsNullOrEmpty(sessionBaseKey))
+            {
+                frame.SetValue(FrameSessionBaseKeyProperty, sessionBaseKey);
+                sessionStateKey = sessionBaseKey + "_" + sessionStateKey;
+            }
+
+            // Use a dependency property to associate the session key with a frame, and keep a list of frames whose
+            // navigation state should be managed
+            frame.SetValue(FrameSessionStateKeyProperty, sessionStateKey);
+            _registeredFrames.Add(new WeakReference<Frame>(frame));
+
+            // Check to see if navigation state can be restored
+            RestoreFrameNavigationState(frame);
+        }
+
+        /// <summary>
+        /// Disassociates a <see cref="Frame"/> previously registered by <see cref="RegisterFrame"/>
+        /// from <see cref="SessionState"/>.  Any navigation state previously captured will be
+        /// removed.
+        /// </summary>
+        /// <param name="frame">An instance whose navigation history should no longer be
+        /// managed.</param>
+        public static void UnregisterFrame(Frame frame)
+        {
+            // Remove session state and remove the frame from the list of frames whose navigation
+            // state will be saved (along with any weak references that are no longer reachable)
+            SessionState.Remove((String)frame.GetValue(FrameSessionStateKeyProperty));
+            _registeredFrames.RemoveAll((weakFrameReference) =>
+            {
+                Frame testFrame;
+                return !weakFrameReference.TryGetTarget(out testFrame) || testFrame == frame;
+            });
+        }
+
+        /// <summary>
+        /// Provides storage for session state associated with the specified <see cref="Frame"/>.
+        /// Frames that have been previously registered with <see cref="RegisterFrame"/> have
+        /// their session state saved and restored automatically as a part of the global
+        /// <see cref="SessionState"/>.  Frames that are not registered have transient state
+        /// that can still be useful when restoring pages that have been discarded from the
+        /// navigation cache.
+        /// </summary>
+        /// <remarks>Apps may choose to rely on <see cref="NavigationHelper"/> to manage
+        /// page-specific state instead of working with frame session state directly.</remarks>
+        /// <param name="frame">The instance for which session state is desired.</param>
+        /// <returns>A collection of state subject to the same serialization mechanism as
+        /// <see cref="SessionState"/>.</returns>
+        public static Dictionary<String, Object> SessionStateForFrame(Frame frame)
+        {
+            var frameState = (Dictionary<String, Object>)frame.GetValue(FrameSessionStateProperty);
+
+            if (frameState == null)
+            {
+                var frameSessionKey = (String)frame.GetValue(FrameSessionStateKeyProperty);
+                if (frameSessionKey != null)
+                {
+                    // Registered frames reflect the corresponding session state
+                    if (!_sessionState.ContainsKey(frameSessionKey))
+                    {
+                        _sessionState[frameSessionKey] = new Dictionary<String, Object>();
+                    }
+                    frameState = (Dictionary<String, Object>)_sessionState[frameSessionKey];
+                }
+                else
+                {
+                    // Frames that aren't registered have transient state
+                    frameState = new Dictionary<String, Object>();
+                }
+                frame.SetValue(FrameSessionStateProperty, frameState);
+            }
+            return frameState;
+        }
+
+        private static void RestoreFrameNavigationState(Frame frame)
+        {
+            var frameState = SessionStateForFrame(frame);
+            if (frameState.ContainsKey("Navigation"))
+            {
+                frame.SetNavigationState((String)frameState["Navigation"]);
+            }
+        }
+
+        private static void SaveFrameNavigationState(Frame frame)
+        {
+            var frameState = SessionStateForFrame(frame);
+            frameState["Navigation"] = frame.GetNavigationState();
+        }
+    }
+    public class SuspensionManagerException : Exception
+    {
+        public SuspensionManagerException()
+        {
+        }
+
+        public SuspensionManagerException(Exception e)
+            : base("SuspensionManager failed", e)
+        {
+
+        }
+    }
+}
diff --git a/File360/ContinuationManager.cs b/File360/ContinuationManager.cs
@@ -0,0 +1,191 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Windows.ApplicationModel.Activation;
+using Windows.UI.Xaml;
+using Windows.UI.Xaml.Controls;
+
+#if WINDOWS_PHONE_APP
+/// <summary>
+/// ContinuationManager is used to detect if the most recent activation was due
+/// to a continuation such as the FileOpenPicker or WebAuthenticationBroker
+/// </summary>
+public class ContinuationManager
+{
+    IContinuationActivatedEventArgs args = null;
+    bool handled = false;
+    Guid id = Guid.Empty;
+
+    /// <summary>
+    /// Sets the ContinuationArgs for this instance. Using default Frame of current Window
+    /// Should be called by the main activation handling code in App.xaml.cs
+    /// </summary>
+    /// <param name="args">The activation args</param>
+    internal void Continue(IContinuationActivatedEventArgs args)
+    {
+        Continue(args, Window.Current.Content as Frame);
+    }
+
+    /// <summary>
+    /// Sets the ContinuationArgs for this instance. Should be called by the main activation
+    /// handling code in App.xaml.cs
+    /// </summary>
+    /// <param name="args">The activation args</param>
+    /// <param name="rootFrame">The frame control that contains the current page</param>
+    internal void Continue(IContinuationActivatedEventArgs args, Frame rootFrame)
+    {
+        if (args == null)
+            throw new ArgumentNullException("args");
+
+        if (this.args != null && !handled)
+            throw new InvalidOperationException("Can't set args more than once");
+
+        this.args = args;
+        this.handled = false;
+        this.id = Guid.NewGuid();
+
+        if (rootFrame == null)
+            return;
+
+        switch (args.Kind)
+        {
+            case ActivationKind.PickFileContinuation:
+                var fileOpenPickerPage = rootFrame.Content as IFileOpenPickerContinuable;
+                if (fileOpenPickerPage != null)
+                {
+                    fileOpenPickerPage.ContinueFileOpenPicker(args as FileOpenPickerContinuationEventArgs);
+                }
+                break;
+
+            case ActivationKind.PickSaveFileContinuation:
+                var fileSavePickerPage = rootFrame.Content as IFileSavePickerContinuable;
+                if (fileSavePickerPage != null)
+                {
+                    fileSavePickerPage.ContinueFileSavePicker(args as FileSavePickerContinuationEventArgs);
+                }
+                break;
+
+            case ActivationKind.PickFolderContinuation:
+                var folderPickerPage = rootFrame.Content as IFolderPickerContinuable;
+                if (folderPickerPage != null)
+                {
+                    folderPickerPage.ContinueFolderPicker(args as FolderPickerContinuationEventArgs);
+                }
+                break;
+
+            case ActivationKind.WebAuthenticationBrokerContinuation:
+                var wabPage = rootFrame.Content as IWebAuthenticationContinuable;
+                if (wabPage != null)
+                {
+                    wabPage.ContinueWebAuthentication(args as WebAuthenticationBrokerContinuationEventArgs);
+                }
+                break;
+        }
+    }
+
+    /// <summary>
+    /// Marks the contination data as 'stale', meaning that it is probably no longer of
+    /// any use. Called when the app is suspended (to ensure future activations don't appear
+    /// to be for the same continuation) and whenever the continuation data is retrieved 
+    /// (so that it isn't retrieved on subsequent navigations)
+    /// </summary>
+    internal void MarkAsStale()
+    {
+        this.handled = true;
+    }
+
+    /// <summary>
+    /// Retrieves the continuation args, if they have not already been retrieved, and 
+    /// prevents further retrieval via this property (to avoid accidentla double-usage)
+    /// </summary>
+    public IContinuationActivatedEventArgs ContinuationArgs
+    {
+        get
+        {
+            if (handled)
+                return null;
+            MarkAsStale();
+            return args;
+        }
+    }
+
+    /// <summary>
+    /// Unique identifier for this particular continuation. Most useful for components that 
+    /// retrieve the continuation data via <see cref="GetContinuationArgs"/> and need
+    /// to perform their own replay check
+    /// </summary>
+    public Guid Id { get { return id; } }
+
+    /// <summary>
+    /// Retrieves the continuation args, optionally retrieving them even if they have already
+    /// been retrieved
+    /// </summary>
+    /// <param name="includeStaleArgs">Set to true to return args even if they have previously been returned</param>
+    /// <returns>The continuation args, or null if there aren't any</returns>
+    public IContinuationActivatedEventArgs GetContinuationArgs(bool includeStaleArgs)
+    {
+        if (!includeStaleArgs && handled)
+            return null;
+        MarkAsStale();
+        return args;
+    }
+}
+
+/// <summary>
+/// Implement this interface if your page invokes the file open picker
+/// API.
+/// </summary>
+interface IFileOpenPickerContinuable
+{
+    /// <summary>
+    /// This method is invoked when the file open picker returns picked
+    /// files
+    /// </summary>
+    /// <param name="args">Activated event args object that contains returned files from file open picker</param>
+    void ContinueFileOpenPicker(FileOpenPickerContinuationEventArgs args);
+}
+
+/// <summary>
+/// Implement this interface if your page invokes the file save picker
+/// API
+/// </summary>
+interface IFileSavePickerContinuable
+{
+    /// <summary>
+    /// This method is invoked when the file save picker returns saved
+    /// files
+    /// </summary>
+    /// <param name="args">Activated event args object that contains returned file from file save picker</param>
+    void ContinueFileSavePicker(FileSavePickerContinuationEventArgs args);
+}
+
+/// <summary>
+/// Implement this interface if your page invokes the folder picker API
+/// </summary>
+interface IFolderPickerContinuable
+{
+    /// <summary>
+    /// This method is invoked when the folder picker returns the picked
+    /// folder
+    /// </summary>
+    /// <param name="args">Activated event args object that contains returned folder from folder picker</param>
+    void ContinueFolderPicker(FolderPickerContinuationEventArgs args);
+}
+
+/// <summary>
+/// Implement this interface if your page invokes the web authentication
+/// broker
+/// </summary>
+interface IWebAuthenticationContinuable
+{
+    /// <summary>
+    /// This method is invoked when the web authentication broker returns
+    /// with the authentication result
+    /// </summary>
+    /// <param name="args">Activated event args object that contains returned authentication token</param>
+    void ContinueWebAuthentication(WebAuthenticationBrokerContinuationEventArgs args);
+}
+
+#endif
diff --git a/File360/Dialog.cs b/File360/Dialog.cs
@@ -0,0 +1,72 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Windows.UI;
+using Windows.UI.Xaml;
+using Windows.UI.Xaml.Controls;
+using Windows.UI.Xaml.Controls.Primitives;
+using Windows.UI.Xaml.Media;
+using Windows.UI.Xaml.Media.Animation;
+
+namespace File360
+{
+    public class Dialog : Grid
+    {
+        Storyboard OpenDialog = new Storyboard();
+        Storyboard CloseDialog = new Storyboard();
+        public Dialog()
+        {
+            Height = Window.Current.Bounds.Height;
+            Width = Window.Current.Bounds.Width;
+            Window.Current.SizeChanged += CurrentSizeChanged;
+            Background = new SolidColorBrush((Color)Application.Current.Resources["ContentDialogDimmingColor"]);
+            FadeInThemeAnimation fadeInAnimation = new FadeInThemeAnimation();
+
+            Storyboard.SetTarget(fadeInAnimation, this);
+            OpenDialog.Children.Add(fadeInAnimation);
+
+
+            FadeOutThemeAnimation fadeOutAnimation = new FadeOutThemeAnimation();
+
+            Storyboard.SetTarget(fadeOutAnimation, this);
+            CloseDialog.Children.Add(fadeOutAnimation);
+
+        }
+        
+        public bool IsOpen
+        {
+            get 
+            {
+                if (Visibility == Visibility.Collapsed)
+                    return false;
+                else return true;
+            }
+            set
+            {
+                if (value == true)
+                {
+                    Visibility = Visibility.Visible;
+                    OpenDialog.Begin();
+                }
+                else
+                {
+
+                    CloseDialog.Begin();
+                    CloseDialog.Completed += (s, f) =>
+                    {
+                        Visibility = Visibility.Collapsed;
+                    };
+                }
+            }
+        }
+
+        private void CurrentSizeChanged(object sender, Windows.UI.Core.WindowSizeChangedEventArgs e)
+        {
+            Height = Window.Current.Bounds.Height;
+            Width = Window.Current.Bounds.Width;
+            this.UpdateLayout();
+        }
+    }
+}
diff --git a/File360/DialogBox.xaml b/File360/DialogBox.xaml
@@ -0,0 +1,51 @@
+<UserControl
+    x:Class="File360.DialogBox"
+    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+    xmlns:local="using:File360"
+    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+    mc:Ignorable="d"
+    RequestedTheme="Dark" FontFamily="Assets/Font/iconfont.ttf#iconfont">
+
+    <Grid x:Name="AlphaGrid">
+        <Grid.Background>
+            <SolidColorBrush Color="{ThemeResource ContentDialogDimmingColor}"/>
+        </Grid.Background>
+        <StackPanel x:Name="LayoutRoot"
+                    MinHeight="100"
+                    MaxHeight="200"
+                    MinWidth="300"
+                    MaxWidth="450"
+                    Background="{StaticResource PhoneChromeBrush}" 
+                    HorizontalAlignment="Center" 
+                    VerticalAlignment="Center">
+            <Grid>
+                <Grid.RowDefinitions>
+                    <RowDefinition Height="2*"/>
+                    <RowDefinition Height="50*"/>
+                    <RowDefinition Height="2*"/>
+                </Grid.RowDefinitions>
+                <Grid.ColumnDefinitions>
+                    <ColumnDefinition Width="2*"/>
+                    <ColumnDefinition Width="50*"/>
+                    <ColumnDefinition Width="2*"/>
+                </Grid.ColumnDefinitions>
+                <StackPanel Grid.Row="1" Grid.Column="1" Margin="10,0">
+                    <TextBlock x:Name="heading" Foreground="{StaticResource PhoneForegroundBrush}" Text="ARE YOU SURE?" FontFamily="Segoe UI" FontSize="20" FontWeight="Bold" HorizontalAlignment="Left"/>
+                    <Rectangle MinHeight="10"/>
+                    <TextBlock x:Name="dialogDetails" Grid.Row="1" TextWrapping="Wrap" Text="Random Text and Messages Detailed about this operation comes here." FontFamily="Segoe WP Light" TextAlignment="Center" FontSize="20"/>
+                    <Rectangle MinHeight="15"/>
+                </StackPanel>
+            </Grid>
+            <Grid>
+                <Grid.ColumnDefinitions>
+                    <ColumnDefinition Width="4*"/>
+                    <ColumnDefinition Width="10*"/>
+                </Grid.ColumnDefinitions>
+                <Button MinWidth="0" x:Name="leftButton" Style="{StaticResource DialogBoxButton}" Content="x" FontFamily="Assets/Font/iconfont.ttf#iconfont" Margin="0" VerticalAlignment="Stretch" BorderBrush="{x:Null}" Background="{ThemeResource PhoneBackgroundBrush}" Click="leftButton_Click" HorizontalAlignment="Stretch"/>
+                <Button x:Name="rightButton" Grid.Column="1" Background="{StaticResource PhoneAccentBrush}" BorderBrush="{x:Null}" HorizontalAlignment="Stretch" Style="{StaticResource DialogBoxButton}" Content="K" FontFamily="Assets/Font/iconfont.ttf#iconfont" Click="rightButton_Click" Foreground="White"/>
+            </Grid>
+        </StackPanel>
+    </Grid>
+</UserControl>
diff --git a/File360/DialogBox.xaml.cs b/File360/DialogBox.xaml.cs
@@ -0,0 +1,91 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Net;
+using System.Windows;
+using System.ComponentModel;
+using Windows.UI.Xaml.Controls;
+using Windows.UI.Xaml;
+using File360;
+using Windows.UI.Xaml.Controls.Primitives;
+
+namespace File360
+{
+    public sealed partial class DialogBox : UserControl
+    {
+        public DialogBox()
+        {
+            InitializeComponent();
+            Loaded += DialogBox_Loaded;
+            heading.FontSize = Window.Current.Bounds.Width / 20;
+            dialogDetails.FontSize = Window.Current.Bounds.Width / 30;
+            leftButton.FontSize = Window.Current.Bounds.Width / 35;
+            rightButton.FontSize = Window.Current.Bounds.Width / 35;
+        }
+
+        void DialogBox_Loaded(object sender, RoutedEventArgs e)
+        {
+
+        }
+        public string HeadingText
+        {
+            get { return heading.Text; }
+            set { heading.Text = value; }
+        }
+        public string ContentText
+        {
+            get { return dialogDetails.Text; }
+            set { dialogDetails.Text = value; }
+        }
+        public string LeftButtonContent
+        {
+            get { return leftButton.Content.ToString(); }
+            set { leftButton.Content = value; }
+        }
+        public string RightButtonContent
+        {
+            get { return rightButton.Content.ToString(); }
+            set { rightButton.Content = value; }
+        }
+        public RoutedEventHandler LeftButtonHandler
+        {
+            get { return leftButton_Click; }
+            set { leftButton.Click += value; }
+        }
+
+        private void rightButton_Click(object sender, RoutedEventArgs e)
+        {
+            IsOpen = false;
+        }
+
+        private void leftButton_Click(object sender, RoutedEventArgs e)
+        {
+            IsOpen = false;
+        }
+        public bool IsOpen
+        {
+            get
+            {
+                if (Height == 0)
+                {
+                    return false;
+                }
+                else
+                {
+                    return true;
+                }
+            }
+            set
+            {
+                if (value == true)
+                {
+                    Height = Window.Current.Bounds.Height;
+                }
+                if (value == false)
+                {
+                    Height = 0;
+                }
+            }
+        }
+    }
+}
diff --git a/File360/DownloadIndicator.xaml b/File360/DownloadIndicator.xaml
@@ -0,0 +1,30 @@
+<Button
+    x:Class="File360.DownloadIndicator"
+    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+    xmlns:local="using:File360"
+    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+    mc:Ignorable="d"
+    HorizontalContentAlignment="Stretch">
+    <Button.Background>
+        <SolidColorBrush Color="{ThemeResource PhoneChromeColor}"/>
+    </Button.Background>
+
+    <Grid Margin="0,7">
+        <Grid.RowDefinitions>
+            <RowDefinition Height="Auto"/>
+            <RowDefinition Height="Auto"/>
+            <RowDefinition Height="Auto"/>
+        </Grid.RowDefinitions>
+        <TextBlock x:Name="FileName" Text="Vedhalam_avi.Xvid.Rip.mp4" FontSize="14.667" FontFamily="Assets/Font/Custom/Raleway-Light.ttf#Raleway" Margin="3,2,3,10" Foreground="White" HorizontalAlignment="Left"/>
+        <Grid Grid.Row="1">
+            <TextBlock Text="3mb" Foreground="{ThemeResource PhoneAccentBrush}" FontSize="10.667" Margin="3,0,0,0"/>
+            <TextBlock HorizontalAlignment="Right" Foreground="{ThemeResource PhoneAccentBrush}" FontFamily="Assets/Font/Custom/ClearSans-Thin.ttf#Clear Sans Thin" FontSize="10.667" VerticalAlignment="Center" Margin="0,0,3,0" TextLineBounds="TrimToBaseline" >
+                	<Run Text="25.3"/>
+                	<Run Text="kbps"/>
+            </TextBlock>
+        </Grid>
+        <ProgressBar x:Name="progBar" Value="75" Grid.Row="2" VerticalAlignment="Bottom" Margin="3,10,3,0"/>
+    </Grid>
+</Button>
diff --git a/File360/DownloadIndicator.xaml.cs b/File360/DownloadIndicator.xaml.cs
@@ -0,0 +1,50 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Runtime.InteropServices.WindowsRuntime;
+using Windows.Foundation;
+using Windows.Foundation.Collections;
+using Windows.UI.Xaml;
+using Windows.UI.Xaml.Controls;
+using Windows.UI.Xaml.Controls.Primitives;
+using Windows.UI.Xaml.Data;
+using Windows.UI.Xaml.Input;
+using Windows.UI.Xaml.Media;
+using Windows.UI.Xaml.Navigation;
+
+// The User Control item template is documented at http://go.microsoft.com/fwlink/?LinkId=234236
+
+namespace File360
+{
+    public sealed partial class DownloadIndicator : Button
+    {
+        public DownloadIndicator()
+        {
+            this.InitializeComponent();
+            //Width = (Window.Current.Bounds.Width * 2) / 3;
+            //Height = Window.Current.Bounds.Height / 10;
+        }
+        
+        public string ContentText
+        {
+            get { return FileName.Text; }
+            set { FileName.Text = value; }
+        }
+        public double ProgressBarValue
+        {
+            get { return progBar.Value; }
+            set { progBar.Value = value; }
+        }
+        public double DownSpeed
+        {
+            get { return progBar.Value; }
+            set { progBar.Value = value; }
+        }
+        //public SolidColorBrush Status
+        //{
+        //    get { return (SolidColorBrush)LayoutGrid.Background; }
+        //    set { LayoutGrid.Background = value; }
+        //}
+    }
+}
diff --git a/File360/DrawerLayout.cs b/File360/DrawerLayout.cs
@@ -0,0 +1,524 @@
+using System;
+using System.Linq;
+using System.Windows;
+using Windows.Foundation;
+using Windows.UI;
+using Windows.UI.Xaml;
+using Windows.UI.Xaml.Controls;
+using Windows.UI.Xaml.Input;
+using Windows.UI.Xaml.Media;
+using Windows.UI.Xaml.Media.Animation;
+
+namespace File360
+{
+    public class DrawerLayout : Grid
+    {
+        #region Globals and events
+        private readonly PropertyPath _translatePath = new PropertyPath("(UIElement.RenderTransform).(TranslateTransform.X)");
+        private readonly PropertyPath _colorPath = new PropertyPath("(Grid.Background).(SolidColorBrush.Color)");
+
+        private readonly TranslateTransform _listFragmentTransform = new TranslateTransform();
+        private readonly TranslateTransform _deltaTransform = new TranslateTransform();
+        private const int MaxAlpha = 190;
+
+        public delegate void DrawerEventHandler(object sender);
+        public event DrawerEventHandler DrawerOpened;
+        public event DrawerEventHandler DrawerClosed;
+
+        private Storyboard _fadeInStoryboard;
+        private Storyboard _fadeOutStoryboard;
+        private Grid _listFragment;
+        private Grid _mainFragment;
+        private Grid _shadowFragment;
+        private double grabCornerLeft = 40;
+        #endregion
+
+        #region Properties
+
+        public bool IsDrawerOpen { get; set; }
+        private PropertyPath TranslatePath
+        {
+            get { return _translatePath; }
+        }
+        private PropertyPath ColorPath
+        {
+            get { return _colorPath; }
+        }
+
+        #endregion
+
+        #region Methods
+
+        public DrawerLayout()
+        {
+            IsDrawerOpen = false;
+        }
+
+        public void InitializeDrawerLayout()
+        {
+            if (Children == null) return;
+            if (Children.Count < 2) return;
+
+            try
+            {
+                _mainFragment = Children.OfType<Grid>().ElementAt(1);
+                _listFragment = Children.OfType<Grid>().ElementAt(2);
+            }
+            catch (Exception)
+            {
+                //ShowStatus(ex.Message);
+                return;
+            }
+
+            if (_mainFragment == null || _listFragment == null) return;
+
+            _mainFragment.Name = "_mainFragment";
+            _listFragment.Name = "_listFragment";
+
+            // _mainFragment
+            _mainFragment.HorizontalAlignment = HorizontalAlignment.Left;
+            _mainFragment.VerticalAlignment = VerticalAlignment.Stretch;
+
+            // Render transform _listFragment
+            _listFragment.HorizontalAlignment = HorizontalAlignment.Left;
+            _listFragment.VerticalAlignment = VerticalAlignment.Stretch;
+            _listFragment.Width = Window.Current.Bounds.Width > Window.Current.Bounds.Height ? (Window.Current.Bounds.Height * 2) / 3 : (Window.Current.Bounds.Width * 2) / 3;
+            if (_listFragment.Background == null) _listFragment.Background = new SolidColorBrush(Color.FromArgb(40, 46, 46, 46));
+
+            var animatedTranslateTransform = new TranslateTransform { X = -_listFragment.Width - 200, Y = 0 };
+
+            _listFragment.RenderTransform = animatedTranslateTransform;
+            _listFragment.RenderTransformOrigin = new Point(0.5, 0.5);
+
+            _listFragment.UpdateLayout();
+
+
+            // Create a shadow element
+            _shadowFragment = new Grid
+            {
+                Name = "_shadowFragment",
+                Background = new SolidColorBrush(Color.FromArgb(0, 255, 255, 255)),
+                HorizontalAlignment = HorizontalAlignment.Stretch,
+                VerticalAlignment = VerticalAlignment.Stretch,
+                Visibility = Visibility.Collapsed
+            };
+
+            // Set ZIndexes
+            Canvas.SetZIndex(_shadowFragment, 49);
+            Canvas.SetZIndex(_listFragment, 51);
+            Children.Add(_shadowFragment);
+
+            // Create a new fadeIn animation storyboard
+            _fadeInStoryboard = new Storyboard();
+
+            // New double animation
+            var doubleAnimation1 = new DoubleAnimation
+            {
+                Duration = new Duration(new TimeSpan(0, 0, 0, 0, 200)),
+                To = 0
+            };
+
+            Storyboard.SetTarget(doubleAnimation1, _listFragment);
+            Storyboard.SetTargetProperty(doubleAnimation1, TranslatePath.Path);
+            _fadeInStoryboard.Children.Add(doubleAnimation1);
+
+            // New color animation for _shadowFragment
+            var colorAnimation1 = new ColorAnimation
+            {
+                Duration = new Duration(new TimeSpan(0, 0, 0, 0, 200)),
+                To = Color.FromArgb(190, 0, 0, 0)
+            };
+
+            Storyboard.SetTarget(colorAnimation1, _shadowFragment);
+            Storyboard.SetTargetProperty(colorAnimation1, ColorPath.Path);
+            _fadeInStoryboard.Children.Add(colorAnimation1);
+
+            // Create a new fadeOut animation storyboard
+            _fadeOutStoryboard = new Storyboard();
+
+            // New double animation
+            var doubleAnimation2 = new DoubleAnimation
+            {
+                Duration = new Duration(new TimeSpan(0, 0, 0, 0, 200)),
+                To = -_listFragment.Width - 200
+            };
+
+            Storyboard.SetTarget(doubleAnimation2, _listFragment);
+            Storyboard.SetTargetProperty(doubleAnimation2, TranslatePath.Path);
+            _fadeOutStoryboard.Children.Add(doubleAnimation2);
+
+            // New color animation for _shadowFragment
+            var colorAnimation2 = new ColorAnimation
+            {
+                Duration = new Duration(new TimeSpan(0, 0, 0, 0, 200)),
+                To = Color.FromArgb(0, 0, 0, 0)
+            };
+
+            Storyboard.SetTarget(colorAnimation2, _shadowFragment);
+            Storyboard.SetTargetProperty(colorAnimation2, ColorPath.Path);
+            _fadeOutStoryboard.Children.Add(colorAnimation2);
+
+
+            _mainFragment.ManipulationMode = ManipulationModes.TranslateX;
+            _mainFragment.ManipulationStarted += mainFragment_ManipulationStarted;
+
+            _listFragment.ManipulationMode = ManipulationModes.TranslateX;
+            _listFragment.ManipulationStarted += listFragment_ManipulationStarted;
+
+            _shadowFragment.ManipulationMode = ManipulationModes.TranslateX;
+            _shadowFragment.ManipulationStarted += shadowFragment_ManipulationStarted;
+
+            _shadowFragment.Tapped += shadowFragment_Tapped;
+
+        }
+
+
+        public void OpenDrawer()
+        {
+            if (_fadeInStoryboard == null || _mainFragment == null || _listFragment == null) return;
+            _shadowFragment.Visibility = Visibility.Visible;
+            _shadowFragment.IsHitTestVisible = true;
+            _fadeInStoryboard.Begin();
+            IsDrawerOpen = true;
+
+            if (DrawerOpened != null)
+                DrawerOpened(this);
+        }
+        public void CloseDrawer()
+        {
+            if (_fadeOutStoryboard == null || _mainFragment == null || _listFragment == null) return;
+            _fadeOutStoryboard.Begin();
+            _fadeOutStoryboard.Completed += fadeOutStoryboard_Completed;
+            IsDrawerOpen = false;
+
+            if (DrawerClosed != null)
+                DrawerClosed(this);
+        }
+        private void shadow_Completed(object sender, object e)
+        {
+            _shadowFragment.IsHitTestVisible = false;
+            _shadowFragment.Visibility = Visibility.Collapsed;
+            IsDrawerOpen = false;
+
+            // raise close event
+            if (DrawerClosed != null) DrawerClosed(this);
+        }
+        private void fadeOutStoryboard_Completed(object sender, object e)
+        {
+            _shadowFragment.Visibility = Visibility.Collapsed;
+            IsDrawerOpen = false;
+            if (DrawerClosed != null) DrawerClosed(this);
+        }
+        private void MoveListFragment(double left, Color color)
+        {
+            var s = new Storyboard();
+
+            var doubleAnimation = new DoubleAnimation
+            {
+                Duration = new Duration(new TimeSpan(0, 0, 0, 0, 200)),
+                To = left
+            };
+
+            Storyboard.SetTarget(doubleAnimation, _listFragment);
+            Storyboard.SetTargetProperty(doubleAnimation, TranslatePath.Path);
+            s.Children.Add(doubleAnimation);
+
+            var colorAnimation = new ColorAnimation { Duration = new Duration(new TimeSpan(0, 0, 0, 0, 200)), To = color };
+
+            Storyboard.SetTarget(colorAnimation, _shadowFragment);
+            Storyboard.SetTargetProperty(colorAnimation, ColorPath.Path);
+            s.Children.Add(colorAnimation);
+
+            s.Begin();
+        }
+        private void FadeShadowFragment(double left)
+        {
+            // Show shadow fragment
+            _shadowFragment.Background = new SolidColorBrush(Color.FromArgb(255, 255, 255, 255));
+            _shadowFragment.Visibility = Visibility.Visible;
+
+            // Set bg color based on current _listFragment position.
+            var maxLeft = _listFragment.ActualWidth;
+            var currentLeft = maxLeft - left;
+
+            var temp = Convert.ToInt32((currentLeft / maxLeft) * MaxAlpha);
+
+            // Limit temp variable to 190 to avoid OverflowException
+            if (temp > MaxAlpha) temp = MaxAlpha;
+
+            byte alphaColorIndex;
+            try
+            {
+                alphaColorIndex = Convert.ToByte(MaxAlpha - temp);
+            }
+            catch
+            {
+                alphaColorIndex = 0;
+            }
+
+            _shadowFragment.Background = new SolidColorBrush(Color.FromArgb(alphaColorIndex, 0, 0, 0));
+        }
+
+        #endregion
+
+
+        #region Main fragment manipulation events
+
+        private void mainFragment_ManipulationStarted(object sender, ManipulationStartedRoutedEventArgs e)
+        {
+            // If the user has the first touch on the left side of canvas, that means he's trying to swipe the drawer
+            if (e.Position.X <= grabCornerLeft)
+            {
+                //Manipulation can be allowed
+                _mainFragment.ManipulationDelta += mainFragment_ManipulationDelta;
+                _mainFragment.ManipulationCompleted += mainFragment_ManipulationCompleted;
+            }
+        }
+        private void mainFragment_ManipulationDelta(object sender, ManipulationDeltaRoutedEventArgs e)
+        {
+            if (Math.Abs(e.Cumulative.Translation.X) > 0 && e.Cumulative.Translation.X <= _listFragment.Width)
+            {
+                _deltaTransform.X = -_listFragment.Width + e.Cumulative.Translation.X;
+                _listFragment.RenderTransform = _deltaTransform;
+                FadeShadowFragment(e.Cumulative.Translation.X);
+                //ShowStatus(e.Cumulative.Translation.X.ToString());
+            }
+            //if ()
+            //{
+            //    //mainFragment_ManipulationCompleted(this, null);
+            //    return;
+            //}
+
+        }
+        private void mainFragment_ManipulationCompleted(object sender, ManipulationCompletedRoutedEventArgs e)
+        {
+            // Get left of _listFragment
+            var transform = (TranslateTransform)_listFragment.RenderTransform;
+            if (transform == null) return;
+            var left = transform.X;
+
+            // Set snap divider to 1/20 of _mainFragment width
+            var snapLimit = _mainFragment.ActualWidth / 20;
+
+            // Get init position of _listFragment
+            var initialPosition = -_listFragment.Width;
+
+            // If current left coordinate is smaller than snap limit, close drawer
+            if (Math.Abs(initialPosition - left) < snapLimit + 50)
+            {
+                MoveListFragment(initialPosition, Color.FromArgb(0, 0, 0, 0));
+                _shadowFragment.Visibility = Visibility.Collapsed;
+                _shadowFragment.IsHitTestVisible = false;
+
+                _mainFragment.ManipulationDelta -= mainFragment_ManipulationDelta;
+                _mainFragment.ManipulationCompleted -= mainFragment_ManipulationCompleted;
+                IsDrawerOpen = false;
+
+                // raise DrawerClosed event
+                if (DrawerClosed != null) DrawerClosed(this);
+            }
+            // else open drawer
+            else if (Math.Abs(initialPosition - left) > snapLimit)
+            {
+                // move drawer to zero
+                MoveListFragment(0, Color.FromArgb(190, 0, 0, 0));
+                _shadowFragment.Visibility = Visibility.Visible;
+                _shadowFragment.IsHitTestVisible = true;
+                _mainFragment.ManipulationDelta -= mainFragment_ManipulationDelta;
+                _mainFragment.ManipulationCompleted -= mainFragment_ManipulationCompleted;
+                IsDrawerOpen = true;
+
+                // raise DrawerClosed event
+                if (DrawerOpened != null) DrawerOpened(this);
+            }
+        }
+
+        #endregion
+
+        #region List Fragment manipulation events
+
+        private void listFragment_ManipulationStarted(object sender, ManipulationStartedRoutedEventArgs e)
+        {
+            var listWidth = _listFragment.Width;
+            if (e.Position.X >= listWidth) return;
+            _listFragment.ManipulationDelta += listFragment_ManipulationDelta;
+            _listFragment.ManipulationCompleted += listFragment_ManipulationCompleted;
+        }
+        private void listFragment_ManipulationDelta(object sender, ManipulationDeltaRoutedEventArgs e)
+        {
+            if (e.Cumulative.Translation.X <= -_listFragment.Width)
+            {
+                listFragment_ManipulationCompleted(this, null);
+                return;
+            }
+            else if (_listFragmentTransform.X >= 0 && e.Delta.Translation.X > 0)
+            {
+                listFragment_ManipulationCompleted(this, null);
+                return;
+            }
+            _listFragmentTransform.X = e.Cumulative.Translation.X;
+            _listFragment.RenderTransform = _listFragmentTransform;
+            FadeShadowFragment(e.Cumulative.Translation.X + _listFragment.Width);
+        }
+        private void listFragment_ManipulationCompleted(object sender, ManipulationCompletedRoutedEventArgs e)
+        {
+            // Get left of _listFragment
+            var transform = (TranslateTransform)_listFragment.RenderTransform;
+            if (transform == null) return;
+            var left = transform.X;
+
+            // Set snap divider to 1/4 of _mainFragment height
+            var snapLimit = _mainFragment.ActualHeight / 4;
+
+            // Get init position of _listFragment
+            const int initialPosition = 0;
+
+            // If current left coordinate is smaller than snap limit, close drawer
+            if (Math.Abs(initialPosition - left) > snapLimit)
+            {
+                MoveListFragment(-_listFragment.Width, Color.FromArgb(0, 0, 0, 0));
+                _shadowFragment.Visibility = Visibility.Collapsed;
+                _shadowFragment.IsHitTestVisible = false;
+                _shadowFragment.ManipulationDelta -= listFragment_ManipulationDelta;
+
+                _listFragment.ManipulationDelta -= listFragment_ManipulationDelta;
+                _listFragment.ManipulationCompleted -= listFragment_ManipulationCompleted;
+                IsDrawerOpen = false;
+
+                // raise DrawerClosed event
+                if (DrawerClosed != null) DrawerClosed(this);
+            }
+            // else open drawer
+            else if (Math.Abs(initialPosition - left) < snapLimit)
+            {
+                // move drawer to zero
+                MoveListFragment(0, Color.FromArgb(190, 0, 0, 0));
+                _shadowFragment.Visibility = Visibility.Visible;
+                _shadowFragment.IsHitTestVisible = true;
+                _shadowFragment.ManipulationDelta += listFragment_ManipulationDelta;
+
+                _listFragment.ManipulationDelta -= listFragment_ManipulationDelta;
+                _listFragment.ManipulationCompleted -= listFragment_ManipulationCompleted;
+                IsDrawerOpen = true;
+
+                // raise Drawer_Open event
+                if (DrawerOpened != null) DrawerOpened(this);
+            }
+        }
+
+        #endregion
+        #region Shadow fragment manipulation events
+        private void shadowFragment_ManipulationStarted(object sender, ManipulationStartedRoutedEventArgs e)
+        {
+            if (e.Cumulative.Translation.X > 0) return;
+            _shadowFragment.ManipulationDelta += _shadowFragment_ManipulationDelta;
+            _shadowFragment.ManipulationCompleted += _shadowFragment_ManipulationCompleted;
+        }
+
+        private void _shadowFragment_ManipulationDelta(object sender, ManipulationDeltaRoutedEventArgs e)
+        {
+            if (e.Cumulative.Translation.X <= -_listFragment.Width)
+            {
+                _shadowFragment_ManipulationCompleted(this, null);
+                return;
+            }
+            else if (_listFragmentTransform.X >= 0 && e.Delta.Translation.X > 0)
+            {
+                _shadowFragment_ManipulationCompleted(this, null);
+                return;
+            }
+            _listFragmentTransform.X = e.Cumulative.Translation.X;
+            _listFragment.RenderTransform = _listFragmentTransform;
+            FadeShadowFragment(e.Cumulative.Translation.X + _listFragment.Width);
+
+        }
+        private void _shadowFragment_ManipulationCompleted(object sender, ManipulationCompletedRoutedEventArgs e)
+        {
+            // Get left of _listFragment
+            var transform = (TranslateTransform)_listFragment.RenderTransform;
+            if (transform == null) return;
+            var left = transform.X;
+
+            // Set snap divider to 1/4 of _mainFragment height
+            var snapLimit = _mainFragment.ActualHeight / 4;
+
+            // Get init position of _listFragment
+            const int initialPosition = 0;
+
+            // If current left coordinate is smaller than snap limit, close drawer
+            if (Math.Abs(initialPosition - left) > snapLimit)
+            {
+                MoveListFragment(-_listFragment.Width, Color.FromArgb(0, 0, 0, 0));
+
+                _shadowFragment.Visibility = Visibility.Collapsed;
+                _shadowFragment.IsHitTestVisible = false;
+                _shadowFragment.ManipulationDelta -= _shadowFragment_ManipulationDelta;
+                _shadowFragment.ManipulationCompleted -= _shadowFragment_ManipulationCompleted;
+
+                _listFragment.ManipulationDelta -= listFragment_ManipulationDelta;
+                _listFragment.ManipulationCompleted -= listFragment_ManipulationCompleted;
+
+                IsDrawerOpen = false;
+
+                // raise DrawerClosed event
+                if (DrawerClosed != null) DrawerClosed(this);
+            }
+            // else open drawer
+            else if (Math.Abs(initialPosition - left) < snapLimit)
+            {
+                // move drawer to zero
+                MoveListFragment(0, Color.FromArgb(190, 0, 0, 0));
+
+                _shadowFragment.Visibility = Visibility.Visible;
+                _shadowFragment.IsHitTestVisible = true;
+                _shadowFragment.ManipulationDelta -= _shadowFragment_ManipulationDelta;
+                _shadowFragment.ManipulationCompleted -= _shadowFragment_ManipulationCompleted;
+
+                _listFragment.ManipulationDelta -= listFragment_ManipulationDelta;
+                _listFragment.ManipulationCompleted -= listFragment_ManipulationCompleted;
+
+                IsDrawerOpen = true;
+
+                // raise Drawer_Open event
+                if (DrawerOpened != null) DrawerOpened(this);
+            }
+        }
+
+        private void shadowFragment_Tapped(object sender, TappedRoutedEventArgs e)
+        {
+            var shadow = new Storyboard();
+
+            var doubleAnimation = new DoubleAnimation
+            {
+                Duration = new Duration(new TimeSpan(0, 0, 0, 0, 200)),
+                To = -_listFragment.Width - 200
+            };
+
+            Storyboard.SetTarget(doubleAnimation, _listFragment);
+            Storyboard.SetTargetProperty(doubleAnimation, TranslatePath.Path);
+            shadow.Children.Add(doubleAnimation);
+
+            var colorAnimation = new ColorAnimation
+            {
+                Duration = new Duration(new TimeSpan(0, 0, 0, 0, 200)),
+                To = Color.FromArgb(0, 0, 0, 0)
+            };
+
+            Storyboard.SetTarget(colorAnimation, _shadowFragment);
+            Storyboard.SetTargetProperty(colorAnimation, ColorPath.Path);
+            shadow.Children.Add(colorAnimation);
+
+            shadow.Completed += shadow_Completed;
+            shadow.Begin();
+            _shadowFragment.IsHitTestVisible = false;
+        }
+        #endregion
+        //#region ShowStatus
+        //public void ShowStatus(string info)
+        //{
+        //    rootPage.NotifyUser(info);
+        //}
+        //#endregion
+
+    }
+}
diff --git a/File360/FTPPage.xaml b/File360/FTPPage.xaml
@@ -0,0 +1,57 @@
+<Page
+    x:Class="File360.FTPPage"
+    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+    xmlns:local="using:File360"
+    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+    mc:Ignorable="d">
+    <Page.Transitions>
+        <TransitionCollection>
+            <ContentThemeTransition HorizontalOffset="0"/>
+        </TransitionCollection>
+    </Page.Transitions>
+
+    <Grid>
+        <Grid.RowDefinitions>
+            <RowDefinition Height="Auto"/>
+            <RowDefinition Height="*"/>
+        </Grid.RowDefinitions>
+        <Button Style="{StaticResource DefaultButton}" HorizontalAlignment="Left" VerticalAlignment="Stretch" HorizontalContentAlignment="Left" Opacity="0.95">
+            <Button.Background>
+                <SolidColorBrush Color="{ThemeResource PhoneBackgroundColor}"/>
+            </Button.Background>
+            <StackPanel Orientation="Horizontal">
+                <TextBlock VerticalAlignment="Center" HorizontalAlignment="Left" TextAlignment="Left" FontSize="24" Text="g" FontFamily="Assets/Font/settingsfont.ttf#settingsfont" FontWeight="Thin" FontStretch="UltraCondensed">
+                    <TextBlock.Foreground>
+                        <SolidColorBrush Color="{ThemeResource PhoneForegroundColor}"/>
+                    </TextBlock.Foreground>
+                </TextBlock>
+                <TextBlock HorizontalAlignment="Left" 
+                   TextWrapping="Wrap" 
+                   Text="ftp" 
+                   VerticalAlignment="Center"  
+                   FontFamily="Assets/Font/Custom/HelveticaNeue-Thin.otf#Helvetica Neue" FontWeight="Normal" Margin="5,0,0,0" TextLineBounds="TrimToCapHeight" FontSize="32">
+                    <TextBlock.Foreground>
+                        <SolidColorBrush Color="{ThemeResource PhoneForegroundColor}"/>
+                    </TextBlock.Foreground>
+                </TextBlock>
+            </StackPanel>
+        </Button>
+        <ToggleSwitch HorizontalAlignment="Right" Margin="10,0,0,0"/>
+        <ScrollViewer Grid.Row="1">
+            <ScrollViewer.Background>
+                <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0" Opacity="0.3">
+                    <GradientStop Color="Black" Offset="0"/>
+                    <GradientStop Offset="0.02"/>
+                </LinearGradientBrush>
+            </ScrollViewer.Background>
+            <StackPanel Margin="10,0">
+                <TextBlock Text="users connected" Style="{StaticResource GroupHeaderTextBlockStyle}"/>
+                <GridView Height="400"/>
+                <TextBlock Text="address" Style="{StaticResource GroupHeaderTextBlockStyle}"/>
+                <TextBlock Text="192.168.1.100" Style="{StaticResource ListViewItemTextBlockStyle}"/>
+            </StackPanel>
+        </ScrollViewer>
+    </Grid>
+</Page>
diff --git a/File360/FTPPage.xaml.cs b/File360/FTPPage.xaml.cs
@@ -0,0 +1,39 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Runtime.InteropServices.WindowsRuntime;
+using Windows.Foundation;
+using Windows.Foundation.Collections;
+using Windows.UI.Xaml;
+using Windows.UI.Xaml.Controls;
+using Windows.UI.Xaml.Controls.Primitives;
+using Windows.UI.Xaml.Data;
+using Windows.UI.Xaml.Input;
+using Windows.UI.Xaml.Media;
+using Windows.UI.Xaml.Navigation;
+
+// The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkID=390556
+
+namespace File360
+{
+    /// <summary>
+    /// An empty page that can be used on its own or navigated to within a Frame.
+    /// </summary>
+    public sealed partial class FTPPage : Page
+    {
+        public FTPPage()
+        {
+            this.InitializeComponent();
+        }
+
+        /// <summary>
+        /// Invoked when this page is about to be displayed in a Frame.
+        /// </summary>
+        /// <param name="e">Event data that describes how this page was reached.
+        /// This parameter is typically used to configure the page.</param>
+        protected override void OnNavigatedTo(NavigationEventArgs e)
+        {
+        }
+    }
+}
diff --git a/File360/File.cs b/File360/File.cs
@@ -0,0 +1,13 @@
+
+public class File {
+        public string Name { set; get; }
+        public string Thumbnail { set; get; }
+        public boolean IsVisibile {set; get; }
+
+        public File(string name,  Thumbnail thumbnail, boolean isVisible)
+        {
+            this.Name = name;
+            this.Background = thumbnail;
+            this.IsVisibile = isVisible;
+        }
+}+
\ No newline at end of file
diff --git a/File360/File360.csproj b/File360/File360.csproj
@@ -1,179 +1,135 @@
 <?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
   <PropertyGroup>
     <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
     <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProductVersion>10.0.20506</ProductVersion>
-    <SchemaVersion>2.0</SchemaVersion>
-    <ProjectGuid>{6DB737B7-6D8E-4901-86A4-3110A717C72F}</ProjectGuid>
-    <ProjectTypeGuids>{C089C8C0-30E0-4E22-80C0-CE093F111A43};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
-    <OutputType>Library</OutputType>
+    <ProjectGuid>{08490F1C-404B-4B58-B97E-C23BB7A1B31D}</ProjectGuid>
+    <OutputType>AppContainerExe</OutputType>
     <AppDesignerFolder>Properties</AppDesignerFolder>
     <RootNamespace>File360</RootNamespace>
     <AssemblyName>File360</AssemblyName>
-    <TargetFrameworkIdentifier>WindowsPhone</TargetFrameworkIdentifier>
-    <TargetFrameworkVersion>v8.0</TargetFrameworkVersion>
-    <SilverlightVersion>
-    </SilverlightVersion>
-    <SilverlightApplication>true</SilverlightApplication>
-    <SupportedCultures>ta</SupportedCultures>
-    <XapOutputs>true</XapOutputs>
-    <GenerateSilverlightManifest>true</GenerateSilverlightManifest>
-    <XapFilename>File360_$(Configuration)_$(Platform).xap</XapFilename>
-    <SilverlightManifestTemplate>Properties\AppManifest.xml</SilverlightManifestTemplate>
-    <SilverlightAppEntry>File360.App</SilverlightAppEntry>
-    <ValidateXaml>true</ValidateXaml>
-    <MinimumVisualStudioVersion>11.0</MinimumVisualStudioVersion>
-    <ThrowErrorsInValidation>true</ThrowErrorsInValidation>
-    <ExpressionBlendVersion>12.0.50716.0</ExpressionBlendVersion>
-    <TargetFrameworkProfile />
     <DefaultLanguage>en-US</DefaultLanguage>
+    <TargetPlatformVersion>8.1</TargetPlatformVersion>
+    <MinimumVisualStudioVersion>12</MinimumVisualStudioVersion>
+    <FileAlignment>512</FileAlignment>
+    <ProjectTypeGuids>{76F1466A-8B6D-4E39-A767-685A06062A39};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+    <AppxBundle>Always</AppxBundle>
+    <ExpressionBlendVersion>12.0.60617.0</ExpressionBlendVersion>
+    <AppxAutoIncrementPackageRevision>True</AppxAutoIncrementPackageRevision>
+    <AppxBundlePlatforms>neutral</AppxBundlePlatforms>
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <PlatformTarget>AnyCPU</PlatformTarget>
     <DebugSymbols>true</DebugSymbols>
     <DebugType>full</DebugType>
     <Optimize>false</Optimize>
-    <OutputPath>Bin\Debug</OutputPath>
-    <DefineConstants>DEBUG;TRACE;SILVERLIGHT;WINDOWS_PHONE</DefineConstants>
-    <NoStdLib>true</NoStdLib>
-    <NoConfig>true</NoConfig>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE;NETFX_CORE;WINDOWS_PHONE_APP</DefineConstants>
     <ErrorReport>prompt</ErrorReport>
     <WarningLevel>4</WarningLevel>
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <PlatformTarget>AnyCPU</PlatformTarget>
     <DebugType>pdbonly</DebugType>
     <Optimize>true</Optimize>
-    <OutputPath>Bin\Release</OutputPath>
-    <DefineConstants>TRACE;SILVERLIGHT;WINDOWS_PHONE</DefineConstants>
-    <NoStdLib>true</NoStdLib>
-    <NoConfig>true</NoConfig>
+    <OutputPath>bin\Release\</OutputPath>
+    <DefineConstants>TRACE;NETFX_CORE;WINDOWS_PHONE_APP</DefineConstants>
     <ErrorReport>prompt</ErrorReport>
     <WarningLevel>4</WarningLevel>
   </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|ARM'">
     <DebugSymbols>true</DebugSymbols>
+    <OutputPath>bin\ARM\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE;NETFX_CORE;WINDOWS_PHONE_APP</DefineConstants>
+    <NoWarn>;2008</NoWarn>
     <DebugType>full</DebugType>
-    <Optimize>false</Optimize>
-    <OutputPath>Bin\x86\Debug</OutputPath>
-    <DefineConstants>DEBUG;TRACE;SILVERLIGHT;WINDOWS_PHONE</DefineConstants>
-    <NoStdLib>true</NoStdLib>
-    <NoConfig>true</NoConfig>
+    <PlatformTarget>ARM</PlatformTarget>
+    <UseVSHostingProcess>false</UseVSHostingProcess>
     <ErrorReport>prompt</ErrorReport>
+    <Prefer32Bit>true</Prefer32Bit>
     <WarningLevel>4</WarningLevel>
-    <PlatformTarget />
   </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
-    <DebugType>pdbonly</DebugType>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|ARM'">
+    <OutputPath>bin\ARM\Release\</OutputPath>
+    <DefineConstants>TRACE;NETFX_CORE;WINDOWS_PHONE_APP</DefineConstants>
     <Optimize>true</Optimize>
-    <OutputPath>Bin\x86\Release</OutputPath>
-    <DefineConstants>TRACE;SILVERLIGHT;WINDOWS_PHONE</DefineConstants>
-    <NoStdLib>true</NoStdLib>
-    <NoConfig>true</NoConfig>
+    <NoWarn>;2008</NoWarn>
+    <DebugType>pdbonly</DebugType>
+    <PlatformTarget>ARM</PlatformTarget>
+    <UseVSHostingProcess>false</UseVSHostingProcess>
     <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-    <PlatformTarget />
+    <Prefer32Bit>true</Prefer32Bit>
   </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|ARM' ">
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
     <DebugSymbols>true</DebugSymbols>
+    <OutputPath>bin\x86\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE;NETFX_CORE;WINDOWS_PHONE_APP</DefineConstants>
+    <NoWarn>;2008</NoWarn>
     <DebugType>full</DebugType>
-    <Optimize>false</Optimize>
-    <OutputPath>Bin\ARM\Debug</OutputPath>
-    <DefineConstants>DEBUG;TRACE;SILVERLIGHT;WINDOWS_PHONE</DefineConstants>
-    <NoStdLib>true</NoStdLib>
-    <NoConfig>true</NoConfig>
+    <PlatformTarget>x86</PlatformTarget>
+    <UseVSHostingProcess>false</UseVSHostingProcess>
     <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-    <PlatformTarget />
+    <Prefer32Bit>true</Prefer32Bit>
   </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|ARM' ">
-    <DebugType>pdbonly</DebugType>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
+    <OutputPath>bin\x86\Release\</OutputPath>
+    <DefineConstants>TRACE;NETFX_CORE;WINDOWS_PHONE_APP</DefineConstants>
     <Optimize>true</Optimize>
-    <OutputPath>Bin\ARM\Release</OutputPath>
-    <DefineConstants>TRACE;SILVERLIGHT;WINDOWS_PHONE</DefineConstants>
-    <NoStdLib>true</NoStdLib>
-    <NoConfig>true</NoConfig>
+    <NoWarn>;2008</NoWarn>
+    <DebugType>pdbonly</DebugType>
+    <PlatformTarget>x86</PlatformTarget>
+    <UseVSHostingProcess>false</UseVSHostingProcess>
     <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-    <PlatformTarget />
+    <Prefer32Bit>true</Prefer32Bit>
   </PropertyGroup>
   <ItemGroup>
-    <Compile Include="AboutPage.xaml.cs">
-      <DependentUpon>AboutPage.xaml</DependentUpon>
-    </Compile>
-    <Compile Include="AlphaKeyGroup.cs" />
-    <Compile Include="App.xaml.cs">
-      <DependentUpon>App.xaml</DependentUpon>
-    </Compile>
-    <Compile Include="musiclist.cs" />
-    <Compile Include="PersonalizationPage.xaml.cs">
-      <DependentUpon>PersonalizationPage.xaml</DependentUpon>
-    </Compile>
-    <Compile Include="picturelist.cs" />
-    <Compile Include="SkydrivePage.xaml.cs">
-      <DependentUpon>SkydrivePage.xaml</DependentUpon>
-    </Compile>
-    <Compile Include="EBookReader.xaml.cs">
-      <DependentUpon>EBookReader.xaml</DependentUpon>
-    </Compile>
-    <Compile Include="LinqToVisualTree.cs" />
-    <Compile Include="LocalizedStrings.cs" />
-    <Compile Include="MainPage.xaml.cs">
-      <DependentUpon>MainPage.xaml</DependentUpon>
-    </Compile>
-    <Compile Include="MetroInMotion.cs" />
-    <Compile Include="Properties\AssemblyInfo.cs" />
-    <Compile Include="Resources\AppResources.Designer.cs">
-      <AutoGen>True</AutoGen>
-      <DesignTime>True</DesignTime>
-      <DependentUpon>AppResources.resx</DependentUpon>
-    </Compile>
-    <Compile Include="sdlist.cs" />
-    <Compile Include="SecurityPage.xaml.cs">
-      <DependentUpon>SecurityPage.xaml</DependentUpon>
-    </Compile>
-    <Compile Include="settinglist.cs" />
-    <Compile Include="SettingsPage.xaml.cs">
-      <DependentUpon>SettingsPage.xaml</DependentUpon>
-    </Compile>
-    <Compile Include="TiltEffect.cs" />
-    <Compile Include="UriMapper.cs" />
-    <Compile Include="URISchemeExtensionsLandingPage.xaml.cs">
-      <DependentUpon>URISchemeExtensionsLandingPage.xaml</DependentUpon>
-    </Compile>
-    <Compile Include="vaultlist.cs" />
-    <Compile Include="VaultPage.xaml.cs">
-      <DependentUpon>VaultPage.xaml</DependentUpon>
-    </Compile>
-    <Compile Include="VideoPlayer.xaml.cs">
-      <DependentUpon>VideoPlayer.xaml</DependentUpon>
-    </Compile>
-  </ItemGroup>
-  <ItemGroup>
-    <ApplicationDefinition Include="App.xaml">
+    <!-- A reference to the entire .Net Framework and Windows SDK are automatically included -->
+    <Page Include="BlankPage.xaml">
       <SubType>Designer</SubType>
       <Generator>MSBuild:Compile</Generator>
-    </ApplicationDefinition>
-    <Page Include="AboutPage.xaml">
+    </Page>
+    <Page Include="BottomBarItem.xaml">
       <SubType>Designer</SubType>
       <Generator>MSBuild:Compile</Generator>
     </Page>
-    <Page Include="PersonalizationPage.xaml">
+    <Page Include="CardDetails.xaml">
       <SubType>Designer</SubType>
       <Generator>MSBuild:Compile</Generator>
     </Page>
-    <Page Include="SkydrivePage.xaml">
+    <Page Include="ColorPicker.xaml">
+      <SubType>Designer</SubType>
       <Generator>MSBuild:Compile</Generator>
+    </Page>
+    <Page Include="DialogBox.xaml">
+      <Generator>MSBuild:Compile</Generator>
+      <SubType>Designer</SubType>
+    </Page>
+    <Page Include="DownloadIndicator.xaml">
       <SubType>Designer</SubType>
+      <Generator>MSBuild:Compile</Generator>
+    </Page>
+    <Page Include="FTPPage.xaml">
+      <SubType>Designer</SubType>
+      <Generator>MSBuild:Compile</Generator>
     </Page>
-    <Page Include="EBookReader.xaml">
+    <Page Include="GeneralSettings.xaml">
+      <SubType>Designer</SubType>
       <Generator>MSBuild:Compile</Generator>
+    </Page>
+    <Page Include="HelpPage.xaml">
       <SubType>Designer</SubType>
+      <Generator>MSBuild:Compile</Generator>
     </Page>
     <Page Include="MainPage.xaml">
       <SubType>Designer</SubType>
       <Generator>MSBuild:Compile</Generator>
     </Page>
-    <Page Include="SecurityPage.xaml">
+    <Page Include="MarqueeText.xaml">
+      <SubType>Designer</SubType>
+      <Generator>MSBuild:Compile</Generator>
+    </Page>
+    <Page Include="MessageBox.xaml">
       <SubType>Designer</SubType>
       <Generator>MSBuild:Compile</Generator>
     </Page>

@@ -181,154 +137,200 @@
       <SubType>Designer</SubType>
       <Generator>MSBuild:Compile</Generator>
     </Page>
-    <Page Include="URISchemeExtensionsLandingPage.xaml">
+    <Page Include="SideBarMenuButton.xaml">
       <Generator>MSBuild:Compile</Generator>
       <SubType>Designer</SubType>
     </Page>
     <Page Include="VaultPage.xaml">
-      <Generator>MSBuild:MarkupCompilePass1</Generator>
       <SubType>Designer</SubType>
+      <Generator>MSBuild:Compile</Generator>
     </Page>
-    <Page Include="VideoPlayer.xaml">
-      <Generator>MSBuild:MarkupCompilePass1</Generator>
+    <Page Include="VideoPage.xaml">
       <SubType>Designer</SubType>
+      <Generator>MSBuild:Compile</Generator>
     </Page>
   </ItemGroup>
   <ItemGroup>
-    <AppxManifest Include="Package.appxmanifest">
-      <SubType>Designer</SubType>
-    </AppxManifest>
-    <None Include="packages.config" />
-    <None Include="Properties\AppManifest.xml" />
-    <None Include="Properties\WMAppManifest.xml">
-      <SubType>Designer</SubType>
-    </None>
+    <Compile Include="Addresser.cs" />
+    <Compile Include="App.xaml.cs">
+      <DependentUpon>App.xaml</DependentUpon>
+    </Compile>
+    <Compile Include="BlankPage.xaml.cs">
+      <DependentUpon>BlankPage.xaml</DependentUpon>
+    </Compile>
+    <Compile Include="BoolToVisibilityConverter.cs" />
+    <Compile Include="CardDetails.xaml.cs">
+      <DependentUpon>CardDetails.xaml</DependentUpon>
+    </Compile>
+    <Compile Include="ColorSampler.cs" />
+    <Compile Include="Common\NavigationHelper.cs" />
+    <Compile Include="Common\ObservableDictionary.cs" />
+    <Compile Include="Common\RelayCommand.cs" />
+    <Compile Include="Common\SuspensionManager.cs" />
+    <Compile Include="Dialog.cs" />
+    <Compile Include="DownloadIndicator.xaml.cs">
+      <DependentUpon>DownloadIndicator.xaml</DependentUpon>
+    </Compile>
+    <Compile Include="FTPPage.xaml.cs">
+      <DependentUpon>FTPPage.xaml</DependentUpon>
+    </Compile>
+    <Compile Include="MessageBox.xaml.cs">
+      <DependentUpon>MessageBox.xaml</DependentUpon>
+    </Compile>
+    <Compile Include="MusicList.cs" />
+    <Compile Include="PictureList.cs" />
+    <Compile Include="SelectorItemEx.cs" />
+    <Compile Include="Utility\Helper\NativeOperationsHelper.cs" />
+    <Compile Include="Utility\Helper\SecurityAccessDeniedException.cs" />
+    <Compile Include="HelpPage.xaml.cs">
+      <DependentUpon>HelpPage.xaml</DependentUpon>
+    </Compile>
+    <Compile Include="IBackgroundAudioUpdater.cs" />
+    <Compile Include="BottomBarItem.xaml.cs">
+      <DependentUpon>BottomBarItem.xaml</DependentUpon>
+    </Compile>
+    <Compile Include="ColorList.cs" />
+    <Compile Include="ColorPicker.xaml.cs">
+      <DependentUpon>ColorPicker.xaml</DependentUpon>
+    </Compile>
+    <Compile Include="ContinuationManager.cs" />
+    <Compile Include="DialogBox.xaml.cs">
+      <DependentUpon>DialogBox.xaml</DependentUpon>
+    </Compile>
+    <Compile Include="DrawerLayout.cs" />
+    <Compile Include="GeneralSettings.xaml.cs">
+      <DependentUpon>GeneralSettings.xaml</DependentUpon>
+    </Compile>
+    <Compile Include="IntToNegativeIntConverter.cs" />
+    <Compile Include="MainPage.xaml.cs">
+      <DependentUpon>MainPage.xaml</DependentUpon>
+    </Compile>
+    <Compile Include="MarqueeText.xaml.cs">
+      <DependentUpon>MarqueeText.xaml</DependentUpon>
+    </Compile>
+    <Compile Include="OccupyStack.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+    <Compile Include="sdlist.cs" />
+    <Compile Include="SettingsPage.xaml.cs">
+      <DependentUpon>SettingsPage.xaml</DependentUpon>
+    </Compile>
+    <Compile Include="Shade.cs" />
+    <Compile Include="SideBarMenuButton.xaml.cs">
+      <DependentUpon>SideBarMenuButton.xaml</DependentUpon>
+    </Compile>
+    <Compile Include="VaultPage.xaml.cs">
+      <DependentUpon>VaultPage.xaml</DependentUpon>
+    </Compile>
+    <Compile Include="VideoList.cs" />
+    <Compile Include="VideoPage.xaml.cs">
+      <DependentUpon>VideoPage.xaml</DependentUpon>
+    </Compile>
   </ItemGroup>
   <ItemGroup>
-    <Content Include="123.wmv" />
-    <Content Include="AMI.png" />
-    <Content Include="Assets\BadgeLogo.png" />
-    <Content Include="Assets\Logo.png" />
-    <Content Include="Assets\SplashScreen.png" />
-    <Content Include="Assets\SquareTile150x150.png" />
-    <Content Include="Assets\SquareTile71x71.png" />
-    <Content Include="Assets\StoreLogo.png" />
-    <Content Include="Assets\WideLogo.png" />
-    <Content Include="Resources\Assets\Images\audio.png" />
-    <Content Include="Resources\Assets\Images\cover_art.jpg" />
-    <Content Include="Resources\Assets\Images\cover_art.png" />
-    <Content Include="Resources\Assets\Images\documents.png" />
-    <Content Include="Resources\Assets\Images\download.png" />
-    <Content Include="Resources\Assets\Images\greySearch.png" />
-    <Content Include="Resources\Assets\Images\Hamburger_alpha.png" />
-    <Content Include="Resources\Assets\Images\headphone.png" />
-    <Content Include="Resources\Assets\Images\MusicBar.png" />
-    <Content Include="Resources\Assets\Images\phone.png" />
-    <Content Include="Resources\Assets\Images\sdcard.png" />
-    <Content Include="Resources\Assets\Images\Search.png" />
-    <Content Include="Resources\Assets\Images\skydrive.png" />
-    <Content Include="Resources\Assets\Images\Hamburger.png" />
-    <Content Include="Resources\Assets\File_Types\7z.png" />
-    <Content Include="Resources\Assets\File_Types\avi.png" />
-    <Content Include="Resources\Assets\File_Types\csv.png" />
-    <Content Include="Resources\Assets\File_Types\mkv.png" />
-    <Content Include="Resources\Assets\File_Types\pdf.png" />
-    <Content Include="Resources\Assets\AlignmentGrid.png" />
-    <Content Include="Resources\Assets\ApplicationIcon.png">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="Resources\Assets\File_Types\rar.png" />
-    <Content Include="Resources\Assets\Images\flatIcon.PNG" />
-    <Content Include="Resources\Assets\Images\add.png" />
-    <Content Include="Resources\Assets\Images\folder.png" />
-    <Content Include="Resources\Assets\Images\list.png" />
-    <Content Include="Resources\Assets\Images\mute.png" />
-    <Content Include="Resources\Assets\Images\pause.png" />
-    <Content Include="Resources\Assets\Images\settings_dark.png">
-      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
-    </Content>
-    <Content Include="Resources\Assets\Images\settings_light.png">
-      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
-    </Content>
-    <Content Include="Resources\Assets\Images\share.png" />
-    <Content Include="Resources\Assets\Images\whiteSearch.png" />
-    <Content Include="Resources\Assets\Wallpaper\bg1.jpg" />
-    <Content Include="Resources\Assets\Wallpaper\bg2.jpg" />
-    <Content Include="Resources\Assets\Images\transport.ff.png" />
-    <Content Include="Resources\Assets\Images\user.png" />
-    <Content Include="Resources\Assets\Images\video.png" />
-    <Content Include="Resources\Assets\Images\back.png" />
-    <Content Include="Toolkit.Content\home.png" />
-    <Resource Include="greyhome.png" />
-    <Resource Include="Resources\Assets\Images\next.png" />
-    <Resource Include="Resources\Assets\Images\onedrive.png" />
-    <Resource Include="Resources\Assets\Images\play.png" />
-    <Resource Include="Resources\Assets\Images\previous.png" />
-    <Resource Include="Resources\Assets\Images\slider_alpha.png" />
-    <Resource Include="Resources\Assets\Images\transport.pause.png" />
-    <Resource Include="Resources\Assets\Images\transport.play.png" />
-    <Content Include="Resources\Assets\Images\transport.rew.png" />
-    <Content Include="Resources\Assets\Tiles\FlipCycleTileLarge.png">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="Resources\Assets\Tiles\FlipCycleTileMedium.png">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="Resources\Assets\Tiles\FlipCycleTileSmall.png">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="Resources\Assets\Tiles\IconicTileMediumLarge.png">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="Resources\Assets\Tiles\IconicTileSmall.png">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="File360.Logo.Large.png" />
-    <Content Include="File360.Logo.Medium.png" />
-    <Content Include="File360.Logo.png" />
-    <Content Include="File360.Logo.Small.png" />
-    <Content Include="README_FIRST.txt" />
-    <Content Include="Resources\Assets\Images\settings.png">
+    <Content Include="Assets\ARAM.png" />
+    <Content Include="Assets\Fine-Halftone-Screen-Small.png" />
+    <Content Include="Assets\innerShadow.png" />
+    <Content Include="Assets\Maari-Tamil-2015-500x500.jpg" />
+    <Content Include="Assets\mainDropShadow.png" />
+    <Content Include="Assets\mainDropShadowTransparent.png" />
+    <Content Include="Assets\main_drop_shadow_png 13-Dec-2007 09_42 31K.png" />
+    <Content Include="Assets\nullMusicArt.jpg" />
+    <Content Include="Assets\start3.png" />
+    <Content Include="Assets\IMG-20150528-WA0003.jpg" />
+    <Content Include="Assets\Logo.scale-240.png" />
+    <Content Include="Assets\pic %281%29.jpg">
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>
     </Content>
-    <Content Include="SplashScreenImage.jpg" />
-    <Content Include="Resources\Assets\File_Types\svg.png" />
-    <Content Include="Toolkit.Content\ApplicationBar.Add.png" />
-    <Content Include="Toolkit.Content\ApplicationBar.Cancel.png" />
-    <Content Include="Toolkit.Content\ApplicationBar.Check.png" />
-    <Content Include="Toolkit.Content\ApplicationBar.Delete.png" />
-    <Content Include="Toolkit.Content\ApplicationBar.Select.png" />
-    <Content Include="Toolkit.Content\ApplicationBar.Sort.png" />
-    <Resource Include="Resources\Assets\Settings\ftp.png" />
-    <Resource Include="whitehome.png" />
+    <Content Include="Assets\pic %282%29.jpg" />
+    <Content Include="Assets\pulse2.png" />
+    <Content Include="Assets\SmallLogo.scale-240.png" />
+    <Content Include="Assets\SplashScreen.scale-240.png" />
+    <Content Include="Assets\Square71x71Logo.scale-240.png" />
+    <Content Include="Assets\StoreLogo.scale-240.png" />
+    <Content Include="Assets\url.png" />
+    <Content Include="Assets\vertDrop.png" />
+    <Content Include="Assets\WideLogo.scale-240.png" />
+    <Content Include="Common\ReadMe.txt" />
+    <Content Include="KernelBase.dll" />
+    <Content Include="ReadMe.Coding4Fun.Toolkit.txt" />
+    <Content Include="SharpCompress.dll" />
+    <Content Include="StoreManifest.xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <ApplicationDefinition Include="App.xaml">
+      <Generator>MSBuild:Compile</Generator>
+      <SubType>Designer</SubType>
+    </ApplicationDefinition>
+  </ItemGroup>
+  <ItemGroup>
+    <PRIResource Include="Strings\en-US\Resources.resw">
+      <SubType>Designer</SubType>
+    </PRIResource>
+  </ItemGroup>
+  <ItemGroup>
+    <Folder Include="Assets\Font\FileTypes\" />
+    <Folder Include="Assets\Font\UI\" />
+  </ItemGroup>
+  <ItemGroup>
+    <Content Include="Assets\Font\Custom\Mohave.otf" />
+  </ItemGroup>
+  <ItemGroup>
+    <Content Include="Assets\Font\Custom\Lobster 1.4.otf" />
   </ItemGroup>
   <ItemGroup>
-    <EmbeddedResource Include="Resources\AppResources.resx">
-      <Generator>PublicResXFileCodeGenerator</Generator>
-      <LastGenOutput>AppResources.Designer.cs</LastGenOutput>
-    </EmbeddedResource>
-    <EmbeddedResource Include="Resources\AppResources.ta.resx" />
+    <Content Include="Assets\Font\settingsfont.ttf" />
   </ItemGroup>
   <ItemGroup>
-    <Reference Include="Microsoft.Expression.Drawing" />
-    <Reference Include="Microsoft.Expression.Interactions" />
-    <Reference Include="Microsoft.Phone.Controls.Toolkit">
-      <HintPath>..\packages\WPtoolkit.4.2013.08.16\lib\wp8\Microsoft.Phone.Controls.Toolkit.dll</HintPath>
+    <Reference Include="Coding4Fun.Toolkit, Version=2.0.8.0, Culture=neutral, PublicKeyToken=c5fd7b72b1a17ce4, processorArchitecture=MSIL">
+      <HintPath>..\packages\Coding4Fun.Toolkit.Controls.2.1.7\lib\wpa81\Coding4Fun.Toolkit.dll</HintPath>
+      <Private>True</Private>
+    </Reference>
+    <Reference Include="Coding4Fun.Toolkit.Controls, Version=2.1.6.0, Culture=neutral, processorArchitecture=MSIL">
+      <HintPath>..\packages\Coding4Fun.Toolkit.Controls.2.1.7\lib\wpa81\Coding4Fun.Toolkit.Controls.dll</HintPath>
+      <Private>True</Private>
+    </Reference>
+    <Reference Include="TagLib.Portable, Version=2.2.0.0, Culture=neutral, PublicKeyToken=db62eba44689b5b0, processorArchitecture=MSIL">
+      <HintPath>..\packages\TagLib.Portable.1.0.3\lib\portable-net45+win+wpa81+wp8+MonoAndroid10+xamarinios10+MonoTouch10\TagLib.Portable.dll</HintPath>
+      <Private>True</Private>
+    </Reference>
+    <Reference Include="WinRTXamlToolkit, Version=1.8.1.0, Culture=neutral, processorArchitecture=MSIL">
+      <HintPath>..\packages\WinRTXamlToolkit.WindowsPhone.1.8.1.0\lib\wpa\WinRTXamlToolkit.dll</HintPath>
+      <Private>True</Private>
+    </Reference>
+    <Reference Include="WriteableBitmapEx.WinRT, Version=1.5.0.0, Culture=neutral, PublicKeyToken=50375ca6144f1c69, processorArchitecture=MSIL">
+      <HintPath>..\packages\WriteableBitmapEx.1.5.0.0\lib\wpa81\WriteableBitmapEx.WinRT.dll</HintPath>
+      <Private>True</Private>
     </Reference>
-    <Reference Include="System.Windows.Interactivity" />
   </ItemGroup>
   <ItemGroup>
-    <Folder Include="FileTypeAssociation\" />
-    <Folder Include="GaussianBlur\" />
+    <Content Include="Assets\Font\Custom\ClearSans-Light.ttf" />
+    <Content Include="Assets\Font\Custom\ClearSans-Thin.ttf" />
+    <AppxManifest Include="Package.appxmanifest">
+      <SubType>Designer</SubType>
+    </AppxManifest>
+    <Content Include="Assets\Font\Custom\Raleway-Light.ttf" />
+    <Content Include="Assets\Font\Custom\Raleway-Thin.ttf" />
+    <Content Include="Assets\Font\Custom\Raleway-SemiBold.ttf" />
+    <Content Include="Assets\Font\Custom\Roboto-Thin.ttf" />
+    <Content Include="Assets\Font\Custom\HelveticaNeue-Thin.otf" />
+    <Content Include="Assets\Font\filetypes.ttf" />
+    <Content Include="Assets\Font\iconfont.ttf" />
+    <None Include="packages.config" />
+    <None Include="File.cs" />
+    <None Include="FileLister.cs" />
   </ItemGroup>
-  <Import Project="$(MSBuildExtensionsPath)\Microsoft\$(TargetFrameworkIdentifier)\$(TargetFrameworkVersion)\Microsoft.$(TargetFrameworkIdentifier).$(TargetFrameworkVersion).Overrides.targets" />
-  <Import Project="$(MSBuildExtensionsPath)\Microsoft\$(TargetFrameworkIdentifier)\$(TargetFrameworkVersion)\Microsoft.$(TargetFrameworkIdentifier).CSharp.targets" />
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
+  <PropertyGroup Condition=" '$(VisualStudioVersion)' == '' or '$(VisualStudioVersion)' &lt; '12.0' ">
+    <VisualStudioVersion>12.0</VisualStudioVersion>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(TargetPlatformIdentifier)' == '' ">
+    <TargetPlatformIdentifier>WindowsPhoneApp</TargetPlatformIdentifier>
+  </PropertyGroup>
+  <Import Project="$(MSBuildExtensionsPath)\Microsoft\WindowsXaml\v$(VisualStudioVersion)\Microsoft.Windows.UI.Xaml.CSharp.targets" />
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
        Other similar extension points exist, see Microsoft.Common.targets.
   <Target Name="BeforeBuild">
   </Target>
   <Target Name="AfterBuild">
   </Target>
   -->
-  <ProjectExtensions />
 </Project> 
\ No newline at end of file
diff --git a/File360/File360.csproj.user b/File360/File360.csproj.user
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
+    <DeviceId>30F105C9-681E-420b-A277-7C086EAD8A4E</DeviceId>
+    <BackgroundTaskDebugEngines>{2E36F1D4-B23C-435D-AB41-18E608940038}</BackgroundTaskDebugEngines>
+    <EnableUnmanagedDebugging>false</EnableUnmanagedDebugging>
+    <DebugEngines>{2E36F1D4-B23C-435D-AB41-18E608940038}</DebugEngines>
+  </PropertyGroup>
+  <PropertyGroup>
+    <ProjectView>ShowAllFiles</ProjectView>
+    <AppxPackageIsForStore>False</AppxPackageIsForStore>
+    <AppxShowAllApps>False</AppxShowAllApps>
+    <AppxBuildConfigurationSelection>neutral</AppxBuildConfigurationSelection>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|ARM'">
+    <DeviceId>30F105C9-681E-420b-A277-7C086EAD8A4E</DeviceId>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|ARM'">
+    <DeviceId>30F105C9-681E-420b-A277-7C086EAD8A4E</DeviceId>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'">
+    <DeviceId>30F105C9-681E-420b-A277-7C086EAD8A4E</DeviceId>
+  </PropertyGroup>
+</Project>+
\ No newline at end of file
diff --git a/File360/FileLister.cs b/File360/FileLister.cs
@@ -0,0 +1,309 @@
+namespace File360 {
+    /*
+     * FileLister provides the UI component for 
+     * interacting with files
+     */
+    public class sealed FileLister {
+        /*
+         * filePath setter updates the UI
+         */
+        public string filePath {get; set;}
+        public FileLister(){
+            //SDLoad.Begin();
+            //PhoneLoad.Begin();
+            GetSDRoot();
+            //gridScrollViewer = SDGridView.GetFirstLogicalChildByType<ScrollViewer>(false);
+            //gridScrollViewer.VerticalScrollMode = ScrollMode.Auto;
+            //LoadMemoryData();
+            //SettingsTab.Height = Window.Current.Bounds.Width * 2 / 3;
+            //PasteFlipView.SelectionChanged += PasteBarSelectionChanged;
+            //AppearancePanel.Begin();
+            //SubFrame.ContentTransitions = new TransitionCollection { new PaneThemeTransition { Edge = EdgeTransitionLocation.Bottom } };
+        }
+
+        private async void GetSDRoot()
+        {
+            if (ApplicationData.Current.LocalSettings.Values.ContainsKey("FolderTokenSettingsKey"))
+            {
+                string token = (string)ApplicationData.Current.LocalSettings.Values["FolderTokenSettingsKey"];
+                // if we do, use it to get the StorageFolder instance
+                folder = await StorageApplicationPermissions.FutureAccessList.GetFolderAsync(token);
+                this.Addresser.Reset();
+                try
+                {
+                    GetFilesAndFolder(folder);
+                    RootFolder.Text = "3";
+                    IsMusicLibraryOpen = false;
+                    IsVideoLibraryOpen = false;
+                    IsPictureLibraryOpen = false;
+                }
+                catch (Exception ex)
+                {
+                    ShowStatus(ex.Message);
+                    //AI("no sdcard is detected", 2);
+                }
+            }
+        }
+
+        public async void GetFilesAndFolder(IStorageFolder anyFolder)
+        {
+            await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.High, async delegate
+            {
+                ShowStatus(anyFolder.Path);
+                if (anyFolder != null)
+                {
+                    Items = null;
+                    sd.Clear();
+                    SDGridView.ItemsSource = null;
+                    CurrentFolder = anyFolder;
+                    Items = await anyFolder.GetItemsAsync();
+                    if (Items.Count == 0)
+                    {
+                        CurrentFolder = anyFolder;
+                        headerText.Text = anyFolder.Name;
+                        sd.Clear();
+                        switch (anyFolder.Path)
+                        {
+                            case @"D:\Documents":
+                                //display documents missing sad face
+                                break;
+                            case @"D:\Music":
+                                //display music missing sad face
+                                break;
+                            case @"D:\Videos":
+                                //display videos missing sad face
+                                break;
+                            case @"D:\Pictures":
+                                //display pictures missing sad face
+                                break;
+                            default:
+                                EmptyFolderStack.Visibility = Visibility.Visible;
+                                //default options for other empty folders
+                                break;
+
+                        }
+                        return;
+                    }
+                    //if (GridType)
+                    //    SDGridView.ItemsPanel = (ItemsPanelTemplate)Resources["GridViewItemsPanel"];
+                    //else SDGridView.ItemsPanel = (ItemsPanelTemplate)Resources["ListViewItemsPanel"];
+                    else
+                    {
+                        EmptyFolderStack.Visibility = Visibility.Collapsed;
+                        foreach (IStorageItem Data in Items)
+                        {
+                            if (Data.IsOfType(StorageItemTypes.Folder))
+                            {
+                                IStorageFolder Folder;
+                                Folder = (IStorageFolder)Data;
+                                //IReadOnlyList<IStorageItem> item = await Folder.GetItemsAsync();
+                                headerText.Text = anyFolder.Name;
+                                if (CurrentFolder.Path == @"D:\")
+                                {
+                                    if (Folder.Name == "Videos") sd.Add(new sdlist(Folder.Name, "o", ""));
+                                    else if (Folder.Name == "Pictures") sd.Add(new sdlist(Folder.Name, "f", ""));
+                                    else if (Folder.Name == "Music") sd.Add(new sdlist(Folder.Name, "g", ""));
+                                    else if (Folder.Name == "Downloads") sd.Add(new sdlist(Folder.Name, "e", ""));
+                                    else if (Folder.Name == "Documents") sd.Add(new sdlist(Folder.Name, "n", ""));
+                                    else sd.Add(new sdlist(Folder.Name, "h", ""));
+                                }
+                                else sd.Add(new sdlist(Folder.Name, "h", ""));
+                            }
+                            if (Data.IsOfType(StorageItemTypes.File))
+                            {
+                                IStorageFile File = (IStorageFile)Data;
+                                string fn = File.Name;
+                                string fi = File.FileType;
+                                #region FileTypes
+                                if (fi == ".mp3")
+                                {
+                                    if (((string)settings.Values["musThumbnail"] == "1"))
+                                    {
+
+                                        #region Mp3
+
+                                        //var fileStream = await File.OpenStreamForReadAsync();
+                                        //var tagFile = TagLib.File.Create(new StreamFileAbstraction(File.Name, fileStream, fileStream));
+                                        //var tags = tagFile.GetTag(TagTypes.Id3v2);
+                                        //try
+                                        //{
+                                        //    if (tags.Pictures != null)
+                                        //    {
+                                        //        MemoryStream ms = new MemoryStream(tags.Pictures[0].Data.Data);
+                                        //        WriteableBitmap wm = null;
+                                        //        WriteableBitmap wwm = await wm.FromStream(ms, Windows.Graphics.Imaging.BitmapPixelFormat.Unknown);
+
+                                        //        ms.Dispose();
+                                        //        ImageBrush im = new ImageBrush();
+                                        //        im.ImageSource = wwm;
+                                        //        im.Stretch = Stretch.UniformToFill;
+                                        //        sd.Add(new sdlist(fn, im, ""));
+                                        //        #endregion
+                                        //    }
+                                        //}
+                                        //catch (IndexOutOfRangeException ex)
+                                        //{
+                                        //    BitmapImage bm = new BitmapImage(new Uri("ms-appx:///Assets/IMG-20150528-WA0003.jpg", UriKind.Absolute));
+                                        //    ImageBrush im = new ImageBrush();
+                                        //    im.ImageSource = bm;
+                                        //    sd.Add(new sdlist(fn, im, ""));
+                                        //}
+                                        //catch (Exception ex)
+                                        //{
+                                        //    AI(ex.Message, 2);
+                                        //}
+                                        #endregion
+                                    }
+                                    else sd.Add(new sdlist(fn, "m"));
+
+                                }
+                                else if (fi == ".wma")
+                                {
+                                    if (((string)settings.Values["musThumbnail"] == "1"))
+                                    { }
+                                    #region wma-work in progress
+
+                                    //var fileStream = await File.OpenStreamForReadAsync();
+                                    //var tagFile = TagLib.File.Create(new StreamFileAbstraction(File.Name, fileStream, fileStream));
+                                    //var tags = tagFile.GetTag(TagTypes.Id3v2);
+                                    //try
+                                    //{
+                                    //    if (tags.Pictures != null)
+                                    //    {
+                                    //        MemoryStream ms = new MemoryStream(tags.Pictures[0].Data.Data);
+                                    //        WriteableBitmap wm = null;
+                                    //        WriteableBitmap wwm = await wm.FromStream(ms, Windows.Graphics.Imaging.BitmapPixelFormat.Unknown);
+
+                                    //        ms.Dispose();
+                                    //        ImageBrush im = new ImageBrush();
+                                    //        im.ImageSource = wwm;
+                                    //        im.Stretch = Stretch.UniformToFill;
+                                    //        sd.Add(new sdlist(fn, im, ""));
+                                    //        #endregion
+                                    //    }
+                                    //}
+                                    //catch (IndexOutOfRangeException ex)
+                                    //{
+                                    //    BitmapImage bm = new BitmapImage(new Uri("ms-appx:///Assets/IMG-20150528-WA0003.jpg", UriKind.Absolute));
+                                    //    ImageBrush im = new ImageBrush();
+                                    //    im.ImageSource = bm;
+                                    //    sd.Add(new sdlist(fn, im, ""));
+                                    //}
+                                    //catch (Exception ex)
+                                    //{
+                                    //    AI(ex.Message, 2);
+                                    //}
+                                    #endregion
+                                    else sd.Add(new sdlist(fn, "m"));
+
+                                }
+                                else if (fi == ".docx")
+                                {
+                                    sd.Add(new sdlist(fn, "k"));
+
+                                }
+                                else if (fi == ".png")
+                                {
+                                    if (((string)settings.Values["picThumbnail"] == "1"))
+                                        await GetThumbnailImageAsync((StorageFile)File, ThumbnailMode.ListView);
+                                    else sd.Add(new sdlist(fn, "p"));
+                                }
+                                else if (fi == ".jpg")
+                                {
+                                    if (((string)settings.Values["picThumbnail"] == "1"))
+                                        await GetThumbnailImageAsync((StorageFile)File, ThumbnailMode.ListView);
+                                    else sd.Add(new sdlist(fn, "p"));
+                                }
+                                else if (fi == ".mp4")
+                                {
+                                    if (((string)settings.Values["vidThumbnail"] == "1"))
+                                    {
+                                        try
+                                        {
+                                            await GetThumbnailImageAsync((StorageFile)File, ThumbnailMode.ListView);
+                                        }
+                                        catch
+                                        {
+                                            sd.Add(new sdlist(fn, "v"));
+                                        }
+                                    }
+                                    else sd.Add(new sdlist(fn, "v"));
+                                }
+                                else if (fi == ".mov")
+                                {
+                                    if (((string)settings.Values["vidThumbnail"] == "1"))
+                                    {
+                                        try
+                                        {
+                                            await GetThumbnailImageAsync((StorageFile)File, ThumbnailMode.ListView);
+                                        }
+                                        catch
+                                        {
+                                            sd.Add(new sdlist(fn, "v"));
+                                        }
+                                    }
+                                    else sd.Add(new sdlist(fn, "v"));
+                                }
+                                else if (fi == ".zip")
+                                {
+                                    sd.Add(new sdlist(fn, "z"));
+
+                                }
+                                else if (fi == ".cs")
+                                {
+                                    sd.Add(new sdlist(fn, "c"));
+                                }
+                                else if (fi == ".pdf")
+                                {
+                                    sd.Add(new sdlist(fn, "b"));
+                                }
+                                else if (fi == ".vcf")
+                                {
+                                    sd.Add(new sdlist(fn, "l"));
+                                }
+                                else if (fi == ".doc")
+                                {
+                                    sd.Add(new sdlist(fn, "k"));
+                                }
+                                else if (fi == ".xlx")
+                                {
+                                    sd.Add(new sdlist(fn, "j"));
+                                }
+                                else if (fi == ".xlsx")
+                                {
+                                    sd.Add(new sdlist(fn, "j"));
+                                }
+                                else if (fi == ".7z")
+                                {
+                                    sd.Add(new sdlist(fn, "7"));
+                                }
+                                else if (fi == ".xml")
+                                {
+                                    sd.Add(new sdlist(fn, "x"));
+                                }
+                                else if (fi == ".txt")
+                                {
+                                    sd.Add(new sdlist(fn, "a"));
+                                }
+                                else if (fi == ".rar")
+                                {
+                                    sd.Add(new sdlist(fn, "r"));
+                                }
+                                else
+                                {
+                                    sd.Add(new sdlist(fn, "i"));
+
+                                }
+                                #endregion
+                            }
+                        }
+                    }
+                }
+                //else AI("This folder contains no items", 2);
+                SDGridView.ItemsSource = sd;
+            });
+        }
+
+        
+    }
+}+
\ No newline at end of file
diff --git a/File360/GeneralSettings.xaml b/File360/GeneralSettings.xaml
@@ -0,0 +1,62 @@
+<Page
+    x:Class="File360.GeneralSettings"
+    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+    xmlns:local="using:File360"
+    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+    xmlns:toolkit="using:WinRTXamlToolkit.Controls"
+    mc:Ignorable="d"
+    FontFamily="Assets/Font/Custom/Raleway-Light.ttf#Raleway">
+    <Page.Transitions>
+        <TransitionCollection>
+            <ContentThemeTransition HorizontalOffset="40"/>
+        </TransitionCollection>
+    </Page.Transitions>
+
+
+    <Grid>
+        <Grid.RowDefinitions>
+            <RowDefinition Height="Auto"/>
+            <RowDefinition Height="*"/>
+        </Grid.RowDefinitions>
+        <Button Style="{StaticResource DefaultButton}" Click="GoBack" HorizontalAlignment="Stretch" HorizontalContentAlignment="Left">
+            <Button.Background>
+                <SolidColorBrush Color="{ThemeResource PhoneBackgroundColor}"/>
+            </Button.Background>
+            <StackPanel Orientation="Horizontal">
+                <TextBlock VerticalAlignment="Center" HorizontalAlignment="Left" TextAlignment="Left" FontSize="24" Text="g" FontFamily="Assets/Font/settingsfont.ttf#settingsfont" FontWeight="Thin" FontStretch="UltraCondensed"/>
+                <TextBlock HorizontalAlignment="Left" 
+                   TextWrapping="Wrap" 
+                   Text="general" 
+                   VerticalAlignment="Center"  
+                   FontFamily="Assets/Font/Custom/HelveticaNeue-Thin.otf#Helvetica Neue" FontWeight="Normal" Margin="5,0,0,0" TextLineBounds="TrimToCapHeight" FontSize="32"/>
+            </StackPanel>
+        </Button>
+        <ScrollViewer Grid.Row="1" Background="{x:Null}">
+            <StackPanel>
+                <StackPanel.Background>
+                    <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0" Opacity="0.3">
+                        <GradientStop Color="Black" Offset="0"/>
+                        <GradientStop Color="Transparent" Offset="0.02"/>
+                    </LinearGradientBrush>
+                </StackPanel.Background>
+                <TextBlock Text="use built-in viewer for" FontFamily="Segoe WP Light" FontSize="17.333" Margin="15,10,0,0" TextLineBounds="TrimToBaseline">
+                    <TextBlock.Foreground>
+                        <SolidColorBrush Color="{ThemeResource PhoneForegroundColor}"/>
+                    </TextBlock.Foreground>
+                </TextBlock>
+                <Grid Height="75">
+                    <ToggleSwitch Grid.Column="1" Header="music" Margin="10,0,0,0" Foreground="White"/>
+
+                </Grid>
+                <Grid Height="75">
+                    <ToggleSwitch  Header="videos" Margin="10,0,0,0" Foreground="White"/>
+                </Grid>
+                <Grid Height="75">
+                    <ToggleSwitch Grid.Column="1" Header="ebooks" Margin="10,0,0,0" Foreground="White"/>
+                </Grid>
+            </StackPanel>
+        </ScrollViewer>
+    </Grid>
+</Page>
diff --git a/File360/GeneralSettings.xaml.cs b/File360/GeneralSettings.xaml.cs
@@ -0,0 +1,44 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Runtime.InteropServices.WindowsRuntime;
+using Windows.Foundation;
+using Windows.Foundation.Collections;
+using Windows.UI.Xaml;
+using Windows.UI.Xaml.Controls;
+using Windows.UI.Xaml.Controls.Primitives;
+using Windows.UI.Xaml.Data;
+using Windows.UI.Xaml.Input;
+using Windows.UI.Xaml.Media;
+using Windows.UI.Xaml.Navigation;
+
+// The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkID=390556
+
+namespace File360
+{
+    /// <summary>
+    /// An empty page that can be used on its own or navigated to within a Frame.
+    /// </summary>
+    public sealed partial class GeneralSettings : Page
+    {
+        public GeneralSettings()
+        {
+            this.InitializeComponent();
+        }
+
+        /// <summary>
+        /// Invoked when this page is about to be displayed in a Frame.
+        /// </summary>
+        /// <param name="e">Event data that describes how this page was reached.
+        /// This parameter is typically used to configure the page.</param>
+        protected override void OnNavigatedTo(NavigationEventArgs e)
+        {
+        }
+
+        private void GoBack(object sender, RoutedEventArgs e)
+        {
+            if (this.Frame.CanGoBack) this.Frame.GoBack();
+        }
+    }
+}
diff --git a/File360/HelpPage.xaml b/File360/HelpPage.xaml
@@ -0,0 +1,52 @@
+<Page
+    x:Class="File360.HelpPage"
+    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+    xmlns:local="using:File360"
+    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+    mc:Ignorable="d"
+    RequestedTheme="Dark"
+    FontFamily="Segoe WP Light" FontSize="18.667">
+
+    <Page.Transitions>
+        <TransitionCollection>
+            <ContentThemeTransition HorizontalOffset="0"/>
+        </TransitionCollection>
+    </Page.Transitions>
+
+    <Grid>
+        <ScrollViewer>
+            <ScrollViewer.Background>
+                <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0" Opacity="0.3">
+                    <GradientStop Color="Black" Offset="0"/>
+                    <GradientStop Offset="0.02"/>
+                </LinearGradientBrush>
+            </ScrollViewer.Background>
+            <StackPanel Margin="10,0">
+                <Button Content="TOUR FILE360" Visibility="Collapsed"/>
+                <TextBlock Text="copy or move" Style="{StaticResource GroupHeaderTextBlockStyle}" />
+                <TextBlock Text="long press to select file(s) and press the clipboard button to copy the selected file(s) to clipboard." TextWrapping="Wrap"/>
+                <TextBlock Text="sdcard" Style="{StaticResource GroupHeaderTextBlockStyle}" />
+                <TextBlock Text="select sdcard from folder picker to view files in sd. " TextWrapping="Wrap"/>
+                <TextBlock Text="phone" Style="{StaticResource GroupHeaderTextBlockStyle}" />
+                <TextBlock Text="to view all the folders. add all the folders in phone memory to this app." TextWrapping="Wrap"/>
+                <TextBlock Text="navigation" Style="{StaticResource GroupHeaderTextBlockStyle}" />
+                <TextBlock Text="navigate using the sidebar which can be accessed by sliding from left." TextWrapping="Wrap"/>
+                <TextBlock Text="settings" Style="{StaticResource GroupHeaderTextBlockStyle}" />
+                <TextBlock Text="settings can be found in the bottom of the sidebar page" TextWrapping="Wrap"/>
+                <TextBlock Text="music &amp; video player" Style="{StaticResource GroupHeaderTextBlockStyle}" />
+                <TextBlock Text="you can open player from the sidebar by clicking the now playing button" TextWrapping="Wrap"/>
+                <TextBlock Text="about" HorizontalAlignment="Center" Style="{StaticResource ComboBoxPlaceholderTextBlockStyle}" FontFamily="Assets/Font/Custom/HelveticaNeue-Thin.otf#Helvetica Neue"/>
+                <Rectangle Height="128" Width="250">
+                    <Rectangle.Fill>
+                        <ImageBrush Stretch="Uniform" ImageSource="Assets/ARAM.png"/>
+                    </Rectangle.Fill>
+                </Rectangle>
+                <TextBlock Text="developed and produced by," FontSize="18" FontFamily="Assets/Font/Custom/HelveticaNeue-Thin.otf#Helvetica Neue" TextAlignment="Center"/>
+                <HyperlinkButton FontSize="{StaticResource ContentControlFontSize}" Content="Ulōka" HorizontalAlignment="Center" Background="{x:Null}" FontFamily="Assets/Font/Custom/HelveticaNeue-Thin.otf#Helvetica Neue" Foreground="{ThemeResource PhoneAccentBrush}"/>
+                <TextBlock Margin="10,5" HorizontalAlignment="Center" TextWrapping="Wrap" Text="thankyou for choosing FILE360. This is a premium version." FontFamily="Assets/Font/Custom/HelveticaNeue-Thin.otf#Helvetica Neue" FontSize="20" TextAlignment="Center"/>
+            </StackPanel>
+        </ScrollViewer>
+    </Grid>
+</Page>
diff --git a/File360/HelpPage.xaml.cs b/File360/HelpPage.xaml.cs
@@ -0,0 +1,40 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Runtime.InteropServices.WindowsRuntime;
+using Windows.Foundation;
+using Windows.Foundation.Collections;
+using Windows.UI.Xaml;
+using Windows.UI.Xaml.Controls;
+using Windows.UI.Xaml.Controls.Primitives;
+using Windows.UI.Xaml.Data;
+using Windows.UI.Xaml.Input;
+using Windows.UI.Xaml.Media;
+using Windows.UI.Xaml.Navigation;
+
+// The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkID=390556
+
+namespace File360
+{
+    /// <summary>
+    /// An empty page that can be used on its own or navigated to within a Frame.
+    /// </summary>
+    public sealed partial class HelpPage : Page
+    {
+        public HelpPage()
+        {
+            this.InitializeComponent();
+            Transitions = null;
+        }
+
+        /// <summary>
+        /// Invoked when this page is about to be displayed in a Frame.
+        /// </summary>
+        /// <param name="e">Event data that describes how this page was reached.
+        /// This parameter is typically used to configure the page.</param>
+        protected override void OnNavigatedTo(NavigationEventArgs e)
+        {
+        }
+    }
+}
diff --git a/File360/IntToNegativeIntConverter.cs b/File360/IntToNegativeIntConverter.cs
@@ -0,0 +1,26 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Windows.UI.Xaml.Data;
+
+namespace File360
+{
+    class IntToNegativeIntConverter : IValueConverter
+    {
+        public object Convert(object value, Type targetType, object parameter, string language)
+        {
+            if (value == null)
+                return value;
+
+            return (-1 * (double)value);
+        }
+
+        public object ConvertBack(object value, Type targetType, object parameter, string language)
+        {
+            throw new NotImplementedException();
+        }
+    }
+}
+
diff --git a/File360/MainPage.xaml b/File360/MainPage.xaml
@@ -1,223 +1,1321 @@
-<phone:PhoneApplicationPage
-    xmlns:local="clr-namespace:File360"
-    xmlns:fx="clr-namespace:MetroInMotionUtils"
-    xmlns:vsm="clr-namespace:System.Windows;assembly=System.Windows"
-    xmlns:toolkit="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls.Toolkit"
+<Page x:Name="page"
+    x:Class="File360.MainPage"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
-    xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
-    xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
+    xmlns:local="using:File360"
     xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
-    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:maps="clr-namespace:Microsoft.Phone.Maps.Controls;assembly=Microsoft.Phone.Maps" xmlns:es="clr-namespace:Microsoft.Expression.Shapes;assembly=Microsoft.Expression.Drawing" x:Name="Menu"
-    x:Class="File360.MainPage"
-    local:TiltEffect.IsTiltEnabled="True"
-    mc:Ignorable="d"
-    Orientation="Portrait"
-    shell:SystemTray.IsVisible="True">
+    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+    xmlns:toolkit="using:WinRTXamlToolkit.Controls"
+    mc:Ignorable="d" RequestedTheme="Dark" FontFamily="Helvetica Neue" FontSize="18.667" FontWeight="SemiLight">
+    <Page.Resources>
+        <local:BoolToVisibilityConverter x:Key="BoolToVisConverter" />
+        <Storyboard x:Name="SideBarSlide">
+            <DoubleAnimation Duration="0:0:0.2" To="0" Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateX)" Storyboard.TargetName="SideMenuLeft" d:IsOptimized="True"/>
+            <DoubleAnimation Duration="0:0:0.2" To="0.5" Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="SDGridView" d:IsOptimized="True"/>
+        </Storyboard>
+        <DataTemplate x:Name="PicturesView">
+            <ItemsControl Tapped="PictureItemClick" Height="{Binding PicHeight}" Width="{Binding PicWidth}">
+                <Grid Height="{Binding ImageHeight}" Width="{Binding ImageWidth}" Background="{Binding Background}">
+                    <Grid VerticalAlignment="Bottom" Background="{ThemeResource PhoneChromeBrush}">
+                        <TextBlock HorizontalAlignment="Center" VerticalAlignment="Center" Text="{Binding Name}" FontFamily="Assets/Font/Custom/ClearSans-Thin.ttf#Clear Sans Thin"/>
+                    </Grid>
+                </Grid>
+            </ItemsControl>
+        </DataTemplate>
+        <local:IntToNegativeIntConverter  x:Key="IntToNegativeIntConverter" />
+        <DataTemplate x:Name="VideosView">
+            <ItemsControl Tapped="VideoItemClick" Margin="10">
+                <Border BorderThickness="5" Background="{Binding Background}" Height="{Binding VidHeight}" Width="{Binding VidWidth}">
+                    <Border.BorderBrush>
+                        <SolidColorBrush Color="{ThemeResource PhoneChromeColor}"/>
+                    </Border.BorderBrush>
+                    <Border VerticalAlignment="Bottom">
+                        <Border.Background>
+                            <SolidColorBrush Color="{ThemeResource PhoneChromeColor}" Opacity="0.8"/>
+                        </Border.Background>
+                        <TextBlock TextTrimming="WordEllipsis" HorizontalAlignment="Left" VerticalAlignment="Center" Text="{Binding Name}" FontFamily="Assets/Font/Custom/ClearSans-Thin.ttf#Clear Sans Thin" FontSize="20"/>
+                    </Border>
+                </Border>
+            </ItemsControl>
+        </DataTemplate>
+        <DataTemplate x:Name="MusicsView">
+            <ItemsControl Tapped="MusicItemClick" Height="{Binding PicHeight}" Width="{Binding PicWidth}">
+                <Grid Height="{Binding ImageHeight}" Width="{Binding ImageWidth}" Background="{Binding Background}">
+                    <Grid VerticalAlignment="Bottom" Background="{ThemeResource PhoneChromeBrush}">
+                        <TextBlock HorizontalAlignment="Left" VerticalAlignment="Center" Text="{Binding SongName}" FontFamily="Assets/Font/Custom/ClearSans-Thin.ttf#Clear Sans Thin" TextTrimming="WordEllipsis"/>
+                    </Grid>
+                </Grid>
+            </ItemsControl>
+        </DataTemplate>
+        <DataTemplate x:Name="GridFoldersView">
+            <ItemsControl CacheMode="BitmapCache" Holding="FolderHold" IsDoubleTapEnabled="True" Tapped="GridItemClick" Height="{Binding GridHeight}" Width="{Binding GridWidth}" Background="{x:Null}" DoubleTapped="ItemDoubleTap">
+                <StackPanel CacheMode="BitmapCache" Background="{Binding Background}">
+                    <Grid Margin="0,5,0,0">
+                        <TextBlock HorizontalAlignment="Center" Width="130" Text="{Binding Image}" FontSize="65" FontFamily="Assets/Font/filetypes.ttf#filetypes" TextAlignment="Center" VerticalAlignment="Center"/>
+                        <TextBlock Text="{Binding Count}" x:Name="DataContents" Foreground="{ThemeResource AppBarItemForegroundThemeBrush}" TextAlignment="Center" FontSize="15" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="0,2,0,0"/>
+                    </Grid>
+                    <TextBlock  Text="{Binding Name}" FontSize="16" TextTrimming="WordEllipsis" x:Name="DataName" Foreground="{ThemeResource AppBarItemForegroundThemeBrush}" TextAlignment="Center" FontFamily="Assets/Font/Custom/Raleway-Light.ttf#Raleway" Margin="4,0"/>
+                    <TextBox x:Name="box" Visibility="Collapsed"  Text="{Binding Name}" FontSize="16" TextAlignment="Center" FontFamily="Assets/Font/Custom/Raleway-Light.ttf#Raleway" Margin="4,0">
+                        <TextBox.Foreground>
+                            <SolidColorBrush Color="{ThemeResource PhoneBackgroundColor}"/>
+                        </TextBox.Foreground>
+                    </TextBox>
+                    <TextBlock Text="53.05 mb" Visibility="{Binding IsVisible, Converter={StaticResource BoolToVisConverter}}" HorizontalAlignment="Center">
+                        <TextBlock.Foreground>
+                            <SolidColorBrush Color="{ThemeResource PhoneBaseLowColor}"/>
+                        </TextBlock.Foreground>
+                    </TextBlock>
+                </StackPanel>
+            </ItemsControl>
+        </DataTemplate>
+        <DataTemplate x:Name="ListFoldersView">
+            <ItemsControl Tapped="GridItemClick" DoubleTapped="ItemDoubleTap" Holding="FolderHold"  Height="{Binding ListHeight}" Width="{Binding Width}" Margin="0" Background="{x:Null}">
+                <StackPanel Orientation="Horizontal" Background="{x:Null}">
+                    <Grid>
+                        <TextBlock Margin="10" VerticalAlignment="Center" Text="{Binding Image}" FontSize="66.667" FontFamily="Assets/Font/filetypes.ttf#filetypes" TextAlignment="Left"/>
+                        <TextBlock Margin="2,5,2,2" Text="{Binding Count}" Foreground="{ThemeResource AppBarItemForegroundThemeBrush}" TextAlignment="Center" FontFamily="Assets/Font/Custom/ClearSans-Thin.ttf#Clear Sans Thin" VerticalAlignment="Bottom"/>
+                    </Grid>
+                    <StackPanel VerticalAlignment="Center">
+                        <TextBlock Text="{Binding Name}" TextTrimming="WordEllipsis" Foreground="{ThemeResource AppBarItemForegroundThemeBrush}" TextAlignment="Left" FontFamily="Assets/Font/Custom/Raleway-Light.ttf#Raleway" FontSize="20" VerticalAlignment="Bottom" Margin="3,0,0,1"/>
+
+                        <TextBlock Text="05/02/1997" Visibility="{Binding IsVisible, Converter={StaticResource BoolToVisConverter}}" VerticalAlignment="Center" Margin="3,1,0,0">
+                            <TextBlock.Foreground>
+                                <SolidColorBrush Color="{ThemeResource PhoneBaseMediumHighColor}"/>
+                            </TextBlock.Foreground>
+                        </TextBlock>
+                        <TextBlock Text="53.05 mb" Visibility="{Binding IsVisible, Converter={StaticResource BoolToVisConverter}}" VerticalAlignment="Top" Margin="3,1,0,0">
+                            <TextBlock.Foreground>
+                                <SolidColorBrush Color="{ThemeResource PhoneBaseLowColor}"/>
+                            </TextBlock.Foreground>
+                        </TextBlock>
+                    </StackPanel>
+                </StackPanel>
+            </ItemsControl>
+        </DataTemplate>
+        <ItemsPanelTemplate x:Name="GridViewItemsPanel">
+            <ItemsWrapGrid Orientation="Horizontal">
+                <ItemsWrapGrid.ChildrenTransitions>
+                    <TransitionCollection>
+                        <ContentThemeTransition VerticalOffset="0" HorizontalOffset="0"/>
+                    </TransitionCollection>
+                </ItemsWrapGrid.ChildrenTransitions>
+            </ItemsWrapGrid>
+        </ItemsPanelTemplate>
+        <ItemsPanelTemplate x:Name="ListViewItemsPanel">
+            <ItemsStackPanel Orientation="Vertical">
+                <ItemsStackPanel.ChildrenTransitions>
+                    <TransitionCollection>
+                        <ContentThemeTransition VerticalOffset="0" HorizontalOffset="10"/>
+                    </TransitionCollection>
+                </ItemsStackPanel.ChildrenTransitions>
+            </ItemsStackPanel>
+        </ItemsPanelTemplate>
+        <Storyboard x:Name="SDLoad" RepeatBehavior="Forever">
+            <DoubleAnimation Duration="0:0:1" To="360" Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.Rotation)" Storyboard.TargetName="symbolIcon" d:IsOptimized="True">
+                <DoubleAnimation.EasingFunction>
+                    <QuadraticEase EasingMode="EaseOut"/>
+                </DoubleAnimation.EasingFunction>
+            </DoubleAnimation>
+        </Storyboard>
+        <Storyboard x:Name="PhoneLoad" RepeatBehavior="Forever">
+            <DoubleAnimation Duration="0:0:1" To="360" Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.Rotation)" Storyboard.TargetName="symbolIcon1" d:IsOptimized="True">
+                <DoubleAnimation.EasingFunction>
+                    <QuinticEase EasingMode="EaseOut"/>
+                </DoubleAnimation.EasingFunction>
+            </DoubleAnimation>
+        </Storyboard>
+        <Storyboard x:Name="sdload">
+            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Visibility)" Storyboard.TargetName="textBlock">
+                <DiscreteObjectKeyFrame KeyTime="0">
+                    <DiscreteObjectKeyFrame.Value>
+                        <Visibility>Visible</Visibility>
+                    </DiscreteObjectKeyFrame.Value>
+                </DiscreteObjectKeyFrame>
+            </ObjectAnimationUsingKeyFrames>
+        </Storyboard>
+        <DataTemplate x:Name="SettingsItemTemplate">
+            <Button  x:Name="SettingTap" Height="Auto" Margin="0,12.5,0,10">
+                <StackPanel Orientation="Horizontal">
+                    <TextBlock Text="{Binding SettingPicture}" FontSize="26.667" FontFamily="Assets/Font/settingsfont.ttf#settingsfont" HorizontalAlignment="Center" TextAlignment="Center" VerticalAlignment="Center" Margin="5,0,10,5" Foreground="{ThemeResource PhoneAccentBrush}" Opacity="0.95" LineStackingStrategy="MaxHeight" FontWeight="Thin"/>
+                    <StackPanel Orientation="Vertical">
+                        <TextBlock Margin="10,0,0,0" Text="{Binding SettingName}" FontSize="23.333" FontFamily="Assets/Font/Custom/HelveticaNeue-Thin.otf#Helvetica Neue" FontWeight="Thin" IsColorFontEnabled="False">
+                            <TextBlock.Foreground>
+                                <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
+                                    <GradientStop Color="{ThemeResource PhoneForegroundColor}" Offset="0"/>
+                                    <GradientStop Color="{ThemeResource PhoneForegroundColor}" Offset="1"/>
+                                    <GradientStop Color="{ThemeResource PhoneTextHighColor}" Offset="0.5"/>
+                                </LinearGradientBrush>
+                            </TextBlock.Foreground>
+                        </TextBlock>
+                        <TextBlock Margin="10,1,0,0" Text="{Binding SettingDescription}" FontFamily="Assets/Font/Custom/ClearSans-Thin.ttf#Clear Sans Thin" FontSize="11" FontWeight="Thin" IsColorFontEnabled="False">
+                            <TextBlock.Foreground>
+                                <SolidColorBrush Color="{ThemeResource PhoneForegroundColor}"/>
+                            </TextBlock.Foreground>
+                        </TextBlock>
+                    </StackPanel>
+                </StackPanel>
+            </Button>
+        </DataTemplate>
+
+        <DataTemplate x:Name="SettingsGridItemTemplate">
+            <ItemsControl  x:Name="SettingTap" Height="{Binding GridHeight}" Width="{Binding GridWidth}" HorizontalAlignment="Center" VerticalAlignment="Center">
+                <StackPanel Margin="0,25" HorizontalAlignment="Center" VerticalAlignment="Center">
+                    <TextBlock Text="{Binding SettingPicture}" FontSize="26.667" FontFamily="Assets/Font/settingsfont.ttf#settingsfont" HorizontalAlignment="Center" TextAlignment="Center" VerticalAlignment="Top" Margin="5,0,10,5" Foreground="{ThemeResource PhoneAccentBrush}" Opacity="0.95" LineStackingStrategy="MaxHeight" FontWeight="Thin"/>
+                    <TextBlock Text="{Binding SettingName}" FontSize="23.333" FontFamily="Assets/Font/Custom/HelveticaNeue-Thin.otf#Helvetica Neue" FontWeight="Thin" HorizontalAlignment="Center"/>
+                    <TextBlock Text="{Binding SettingDescription}" HorizontalAlignment="Center"/>
+                </StackPanel>
+            </ItemsControl>
+        </DataTemplate>
+        <DataTemplate x:Name="RecentPlayTemplate">
+            <Grid Height="100" Width="75">
+                <Grid Background="{Binding Background}" Height="90" Width="70">
+                    <Border Height="25" Width="25" CornerRadius="30" VerticalAlignment="Center" HorizontalAlignment="Center" BorderBrush="#7F383838" Background="#7F0F0F0F" BorderThickness="2">
+                        <TextBlock VerticalAlignment="Center" HorizontalAlignment="Center" Foreground="#7FE0DFDF" FontSize="14" Text="5" FontFamily="Assets/Font/iconfont.ttf#iconfont"/>
+                    </Border>
+                </Grid>
+            </Grid>
+        </DataTemplate>
+        <Storyboard x:Name="MediaOpen">
+            <DoubleAnimation Duration="0:0:0.2" To="0" Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateX)" Storyboard.TargetName="MediaFragment" d:IsOptimized="True">
+                <DoubleAnimation.EasingFunction>
+                    <SineEase EasingMode="EaseOut"/>
+                </DoubleAnimation.EasingFunction>
+            </DoubleAnimation>
+        </Storyboard>
+        <Storyboard x:Name="MediaOpenRev">
+            <DoubleAnimation To="700" Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateX)" Storyboard.TargetName="MediaFragment" Duration="0:0:0.2">
+                <DoubleAnimation.EasingFunction>
+                    <SineEase EasingMode="EaseIn"/>
+                </DoubleAnimation.EasingFunction>
+            </DoubleAnimation>
+        </Storyboard>
+        <Storyboard x:Name="DurationBlink" RepeatBehavior="Forever" AutoReverse="True">
+            <DoubleAnimation Duration="0:0:0.6" To="0" Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="currentDuration">
+                <DoubleAnimation.EasingFunction>
+                    <SineEase EasingMode="EaseInOut"/>
+                </DoubleAnimation.EasingFunction>
+            </DoubleAnimation>
+        </Storyboard>
+        <Storyboard x:Name="SeekOpen">
+            <DoubleAnimation Duration="0:0:0.2" To="1" Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.ScaleY)" Storyboard.TargetName="border" d:IsOptimized="True">
+                <DoubleAnimation.EasingFunction>
+                    <BackEase EasingMode="EaseInOut"/>
+                </DoubleAnimation.EasingFunction>
+            </DoubleAnimation>
+        </Storyboard>
+        <Storyboard x:Name="SeekClose">
+            <DoubleAnimation Duration="0:0:0.2" To="0" Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="border" d:IsOptimized="True"/>
+            <DoubleAnimation Duration="0:0:0.2" To="0" Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.ScaleY)" Storyboard.TargetName="border" d:IsOptimized="True"/>
+        </Storyboard>
+        <Storyboard x:Name="FTPOpen">
+            <DoubleAnimation Duration="0:0:0.2" To="0" Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateX)" Storyboard.TargetName="border1" d:IsOptimized="True">
+                <DoubleAnimation.EasingFunction>
+                    <CircleEase EasingMode="EaseOut"/>
+                </DoubleAnimation.EasingFunction>
+            </DoubleAnimation>
+            <DoubleAnimation Duration="0:0:0.2" To="0" Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateY)" Storyboard.TargetName="border1" d:IsOptimized="True">
+                <DoubleAnimation.EasingFunction>
+                    <CircleEase EasingMode="EaseOut"/>
+                </DoubleAnimation.EasingFunction>
+            </DoubleAnimation>
+            <DoubleAnimation Duration="0:0:0.2" To="1" Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.ScaleX)" Storyboard.TargetName="border1" d:IsOptimized="True">
+                <DoubleAnimation.EasingFunction>
+                    <CircleEase EasingMode="EaseOut"/>
+                </DoubleAnimation.EasingFunction>
+            </DoubleAnimation>
+            <DoubleAnimation Duration="0:0:0.2" To="1" Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.ScaleY)" Storyboard.TargetName="border1" d:IsOptimized="True">
+                <DoubleAnimation.EasingFunction>
+                    <CircleEase EasingMode="EaseOut"/>
+                </DoubleAnimation.EasingFunction>
+            </DoubleAnimation>
+            <DoubleAnimation Duration="0:0:0.2" To="1" Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="border1" d:IsOptimized="True">
+                <DoubleAnimation.EasingFunction>
+                    <CircleEase EasingMode="EaseOut"/>
+                </DoubleAnimation.EasingFunction>
+            </DoubleAnimation>
+        </Storyboard>
+        <Storyboard x:Name="OpenSortMenuAnim">
+            <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="SortMenu">
+                <EasingDoubleKeyFrame KeyTime="0" Value="0">
+                    <EasingDoubleKeyFrame.EasingFunction>
+                        <QuinticEase EasingMode="EaseInOut"/>
+                    </EasingDoubleKeyFrame.EasingFunction>
+                </EasingDoubleKeyFrame>
+                <EasingDoubleKeyFrame KeyTime="0:0:0.2" Value="1">
+                    <EasingDoubleKeyFrame.EasingFunction>
+                        <SineEase EasingMode="EaseOut"/>
+                    </EasingDoubleKeyFrame.EasingFunction>
+                </EasingDoubleKeyFrame>
+            </DoubleAnimationUsingKeyFrames>
+            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Visibility)" Storyboard.TargetName="SortMenu">
+                <DiscreteObjectKeyFrame KeyTime="0">
+                    <DiscreteObjectKeyFrame.Value>
+                        <Visibility>Visible</Visibility>
+                    </DiscreteObjectKeyFrame.Value>
+                </DiscreteObjectKeyFrame>
+            </ObjectAnimationUsingKeyFrames>
+            <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.ScaleX)" Storyboard.TargetName="SortMenu">
+                <EasingDoubleKeyFrame KeyTime="0" Value="0">
+                    <EasingDoubleKeyFrame.EasingFunction>
+                        <QuinticEase EasingMode="EaseInOut"/>
+                    </EasingDoubleKeyFrame.EasingFunction>
+                </EasingDoubleKeyFrame>
+                <EasingDoubleKeyFrame KeyTime="0:0:0.2" Value="1">
+                    <EasingDoubleKeyFrame.EasingFunction>
+                        <SineEase EasingMode="EaseOut"/>
+                    </EasingDoubleKeyFrame.EasingFunction>
+                </EasingDoubleKeyFrame>
+            </DoubleAnimationUsingKeyFrames>
+            <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.ScaleY)" Storyboard.TargetName="SortMenu">
+                <EasingDoubleKeyFrame KeyTime="0" Value="0">
+                    <EasingDoubleKeyFrame.EasingFunction>
+                        <QuinticEase EasingMode="EaseInOut"/>
+                    </EasingDoubleKeyFrame.EasingFunction>
+                </EasingDoubleKeyFrame>
+                <EasingDoubleKeyFrame KeyTime="0:0:0.2" Value="1">
+                    <EasingDoubleKeyFrame.EasingFunction>
+                        <SineEase EasingMode="EaseOut"/>
+                    </EasingDoubleKeyFrame.EasingFunction>
+                </EasingDoubleKeyFrame>
+            </DoubleAnimationUsingKeyFrames>
+        </Storyboard>
+        <Storyboard x:Name="PhotoSlide">
+            <DoubleAnimation Duration="0:0:0.3" To="0" Storyboard.TargetProperty="(UIElement.Projection).(PlaneProjection.RotationX)" Storyboard.TargetName="rectangle" d:IsOptimized="True">
+                <DoubleAnimation.EasingFunction>
+                    <BackEase EasingMode="EaseInOut"/>
+                </DoubleAnimation.EasingFunction>
+            </DoubleAnimation>
+            <DoubleAnimation Duration="0:0:0.3" To="0" Storyboard.TargetProperty="(UIElement.Projection).(PlaneProjection.RotationY)" Storyboard.TargetName="rectangle" d:IsOptimized="True">
+                <DoubleAnimation.EasingFunction>
+                    <BackEase EasingMode="EaseInOut"/>
+                </DoubleAnimation.EasingFunction>
+            </DoubleAnimation>
+            <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Projection).(PlaneProjection.RotationZ)" Storyboard.TargetName="rectangle">
+                <EasingDoubleKeyFrame KeyTime="0:0:0.3" Value="359">
+                    <EasingDoubleKeyFrame.EasingFunction>
+                        <BackEase EasingMode="EaseInOut"/>
+                    </EasingDoubleKeyFrame.EasingFunction>
+                </EasingDoubleKeyFrame>
+                <EasingDoubleKeyFrame KeyTime="0:0:0.8" Value="0">
+                    <EasingDoubleKeyFrame.EasingFunction>
+                        <BackEase EasingMode="EaseInOut"/>
+                    </EasingDoubleKeyFrame.EasingFunction>
+                </EasingDoubleKeyFrame>
+            </DoubleAnimationUsingKeyFrames>
+            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(Border.CornerRadius)" Storyboard.TargetName="border2">
+                <DiscreteObjectKeyFrame KeyTime="0:0:0.7">
+                    <DiscreteObjectKeyFrame.Value>
+                        <CornerRadius>250</CornerRadius>
+                    </DiscreteObjectKeyFrame.Value>
+                </DiscreteObjectKeyFrame>
+            </ObjectAnimationUsingKeyFrames>
+        </Storyboard>
+        <Storyboard x:Name="FTPActive" RepeatBehavior="Forever" AutoReverse="True">
+            <ColorAnimation Duration="0:0:0.5" To="White" Storyboard.TargetProperty="(Border.Background).(SolidColorBrush.Color)" Storyboard.TargetName="border3" d:IsOptimized="True">
+                <ColorAnimation.EasingFunction>
+                    <SineEase EasingMode="EaseOut"/>
+                </ColorAnimation.EasingFunction>
+            </ColorAnimation>
+        </Storyboard>
+        <Storyboard x:Name="AppearancePanel" AutoReverse="True" RepeatBehavior="Forever">
+            <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.ScaleX)" Storyboard.TargetName="rectangle1">
+                <EasingDoubleKeyFrame KeyTime="0:0:0.6" Value="1.2">
+                    <EasingDoubleKeyFrame.EasingFunction>
+                        <SineEase EasingMode="EaseInOut"/>
+                    </EasingDoubleKeyFrame.EasingFunction>
+                </EasingDoubleKeyFrame>
+                <EasingDoubleKeyFrame KeyTime="0:0:0.9" Value="1">
+                    <EasingDoubleKeyFrame.EasingFunction>
+                        <SineEase EasingMode="EaseInOut"/>
+                    </EasingDoubleKeyFrame.EasingFunction>
+                </EasingDoubleKeyFrame>
+            </DoubleAnimationUsingKeyFrames>
+            <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.ScaleY)" Storyboard.TargetName="rectangle1">
+                <EasingDoubleKeyFrame KeyTime="0:0:0.6" Value="1.2">
+                    <EasingDoubleKeyFrame.EasingFunction>
+                        <SineEase EasingMode="EaseInOut"/>
+                    </EasingDoubleKeyFrame.EasingFunction>
+                </EasingDoubleKeyFrame>
+                <EasingDoubleKeyFrame KeyTime="0:0:0.9" Value="1">
+                    <EasingDoubleKeyFrame.EasingFunction>
+                        <SineEase EasingMode="EaseInOut"/>
+                    </EasingDoubleKeyFrame.EasingFunction>
+                </EasingDoubleKeyFrame>
+            </DoubleAnimationUsingKeyFrames>
+            <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.ScaleX)" Storyboard.TargetName="rectangle2">
+                <EasingDoubleKeyFrame KeyTime="0:0:0.3" Value="1.5">
+                    <EasingDoubleKeyFrame.EasingFunction>
+                        <SineEase EasingMode="EaseInOut"/>
+                    </EasingDoubleKeyFrame.EasingFunction>
+                </EasingDoubleKeyFrame>
+                <EasingDoubleKeyFrame KeyTime="0:0:1.1" Value="1">
+                    <EasingDoubleKeyFrame.EasingFunction>
+                        <SineEase EasingMode="EaseInOut"/>
+                    </EasingDoubleKeyFrame.EasingFunction>
+                </EasingDoubleKeyFrame>
+            </DoubleAnimationUsingKeyFrames>
+            <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.ScaleY)" Storyboard.TargetName="rectangle2">
+                <EasingDoubleKeyFrame KeyTime="0:0:0.3" Value="1.5">
+                    <EasingDoubleKeyFrame.EasingFunction>
+                        <SineEase EasingMode="EaseInOut"/>
+                    </EasingDoubleKeyFrame.EasingFunction>
+                </EasingDoubleKeyFrame>
+                <EasingDoubleKeyFrame KeyTime="0:0:1.1" Value="1">
+                    <EasingDoubleKeyFrame.EasingFunction>
+                        <SineEase EasingMode="EaseInOut"/>
+                    </EasingDoubleKeyFrame.EasingFunction>
+                </EasingDoubleKeyFrame>
+            </DoubleAnimationUsingKeyFrames>
+        </Storyboard>
 
-    <phone:PhoneApplicationPage.Resources>
+    </Page.Resources>
 
-        <DataTemplate x:Key="File360ItemTemplate">
-            <StackPanel Tap="folderTap_Click" >
-                <toolkit:ContextMenuService.ContextMenu>
+    <Grid>
+        <Grid>
+            <Grid.RowDefinitions>
+                <RowDefinition Height="0.035*"/>
+                <RowDefinition Height="*"/>
+            </Grid.RowDefinitions>
+            <Grid x:Name="grid4" Grid.RowSpan="2">
+                <Grid>
+                    <Grid.Background>
+                        <SolidColorBrush Color="{ThemeResource PhoneChromeColor}"/>
+                    </Grid.Background>
+                    <Grid>
+                        <Grid.RowDefinitions>
+                            <RowDefinition Height="Auto"/>
+                            <RowDefinition Height="*"/>
+                        </Grid.RowDefinitions>
+                        <Grid x:Name="Header" Margin="0">
+                            <Grid.Background>
+                                <SolidColorBrush Color="{ThemeResource ContentDialogDimmingColor}" Opacity="0.3"/>
+                            </Grid.Background>
+                            <Grid.ColumnDefinitions>
+                                <ColumnDefinition Width="Auto"/>
+                                <ColumnDefinition Width="*"/>
+                            </Grid.ColumnDefinitions>
+                            <Button x:Name="hamburgerButton" MinWidth="0" HorizontalContentAlignment="Left" Click="Menu_Click" VerticalAlignment="Center" BorderBrush="{x:Null}" BorderThickness="0" Foreground="{ThemeResource PhoneForegroundBrush}">
+                                <Button.Background>
+                                    <SolidColorBrush Color="{ThemeResource ContentDialogDimmingColor}" Opacity="0.6"/>
+                                </Button.Background>
+                                <StackPanel Orientation="Horizontal">
+                                    <TextBlock Text="h" FontFamily="Assets/Font/iconFont.ttf#iconfont" FontSize="25" MinHeight="0" MinWidth="0" Margin="0" HorizontalAlignment="Center" VerticalAlignment="Center"/>
+                                    <TextBlock Visibility="Collapsed" VerticalAlignment="Center" x:Name="menuText" FontFamily="Segoe WP Semibold" FontWeight="Normal" FontSize="16" HorizontalAlignment="Center">
+                            	<Run CharacterSpacing="75" Text="FILE360"/>
+                            	<Run Foreground="{StaticResource PhoneAccentBrush}" Text="°"/>
+                                    </TextBlock>
+                                </StackPanel>
+                            </Button>
+                            <Grid Grid.Column="1">
+                                <Grid.ColumnDefinitions>
+                                    <ColumnDefinition Width="Auto"/>
+                                    <ColumnDefinition Width="*"/>
+                                </Grid.ColumnDefinitions>
+                                <Border Width="{StaticResource FlyoutThemeMinHeight}" >
+                                    <Border.Background>
+                                        <SolidColorBrush Color="{ThemeResource ContentDialogDimmingColor}" Opacity="0.6"/>
+                                    </Border.Background>
+                                    <TextBlock Foreground="{StaticResource PhoneAccentBrush}" x:Name="RootFolder" Text="" TextLineBounds="Tight" FontFamily="Assets/Font/iconfont.ttf#iconfont" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="5"/>
+                                </Border>
+                                <ScrollViewer
+                        Grid.Column="1">
+                                    <StackPanel Orientation="Horizontal">
+                                        <local:Addresser x:Name="Addresser"/>
+                                    </StackPanel>
+                                </ScrollViewer>
+                            </Grid>
+                        </Grid>
+                        <local:DrawerLayout x:Name="SideMenu" Grid.Row="1">
 
-                    <toolkit:ContextMenu IsZoomEnabled="True" x:Name="ContextMenu">
+                            <Grid>
+                                <Grid.RowDefinitions>
+                                    <RowDefinition Height="0.12*"/>
+                                    <RowDefinition Height="*"/>
+                                    <RowDefinition Height="Auto"/>
+                                </Grid.RowDefinitions>
 
-                        <toolkit:MenuItem x:Name="Copy" Header="copy" Click="Copy_Click"/>
 
-                        <toolkit:MenuItem x:Name="Cut" Header="cut" Click="Cut_Click"/>
+                                <Grid Grid.Row="1" >
+                                    <GridView x:Name="SDGridView"
+                              Visibility="Visible" 
+                              ItemTemplate="{StaticResource ListFoldersView}"
+                                      ItemsPanel="{StaticResource GridViewItemsPanel}"
+                              SelectionMode="None"
+                              ScrollViewer.VerticalScrollMode="Enabled"
+                              ScrollViewer.IsDeferredScrollingEnabled="False"
+                              ScrollViewer.IsScrollInertiaEnabled="False"
+                                      ScrollViewer.VerticalScrollBarVisibility="Visible"
+                                      ScrollViewer.HorizontalScrollBarVisibility="Disabled"
+                                      ScrollViewer.HorizontalScrollMode="Disabled" 
+                                      SelectionChanged="SDGridViewSelectionChanged">
 
-                        <toolkit:MenuItem x:Name="Delete" Header="delete" Click="Delete_Click"/>
+                                        <GridView.ItemContainerStyle>
+                                            <Style TargetType="GridViewItem">
+                                                <Setter Property="local:SelectorItemEx.ToggleSelectedOnHold" Value="False" />
+                                            </Style>
+                                        </GridView.ItemContainerStyle>
+                                        <GridView.Background>
+                                            <SolidColorBrush Opacity="0.800000011920929" Color="{ThemeResource ContentDialogDimmingColor}"/>
+                                        </GridView.Background>
+                                    </GridView>
+                                    <Grid x:Name="SortMenu" Margin="10" VerticalAlignment="Top" HorizontalAlignment="Right" Width="150" Height="250" Visibility="Collapsed" RenderTransformOrigin="1,0">
+                                        <Grid.RenderTransform>
+                                            <CompositeTransform/>
+                                        </Grid.RenderTransform>
+                                        <Grid.Background>
+                                            <SolidColorBrush Color="{ThemeResource PhoneChromeColor}"/>
+                                        </Grid.Background>
+                                        <Grid.RowDefinitions>
+                                            <RowDefinition Height="*"/>
+                                            <RowDefinition Height="*"/>
+                                            <RowDefinition Height="*"/>
+                                            <RowDefinition Height="*"/>
+                                        </Grid.RowDefinitions>
+                                        <Button  HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Content="Name" HorizontalContentAlignment="Left" Padding="25,0,9.5,3.5" Click="SortMenuItemClick"/>
+                                        <Button  HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Grid.Row="1" Content="Type" HorizontalContentAlignment="Left" Padding="25,0,9.5,3.5" Click="SortMenuItemClick"/>
+                                        <Button  HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Grid.Row="2" Content="Size" HorizontalContentAlignment="Left" Padding="25,0,9.5,3.5" Click="SortMenuItemClick"/>
+                                        <Button  HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Grid.Row="3" Content="Date" HorizontalContentAlignment="Left" Padding="25,0,9.5,3.5" Click="SortMenuItemClick"/>
+                                    </Grid>
 
-                        <toolkit:MenuItem x:Name="Hide" Header="hide" Click="Hide_Click"/>
+                                    <Button Click="SDCardEnumerator" Margin="50" x:Name="AddSDButton" HorizontalAlignment="Center" Visibility="Collapsed">
+                                        <StackPanel>
+                                            <TextBlock Text="f" HorizontalAlignment="Center" FontSize="80" FontFamily="iconfont.ttf#iconfont"/>
+                                            <TextBlock Text="your OS keeps us from accessing your files... maybe you can help us. tap to add folder." VerticalAlignment="Center" TextWrapping="Wrap" Margin="0,15,0,0" TextAlignment="Center" Style="{StaticResource ComboBoxPlaceholderTextBlockStyle}"/>
+                                        </StackPanel>
+                                    </Button>
+                                </Grid>
+                                <Grid Grid.Row="0">
+                                    <Grid.Background>
+                                        <SolidColorBrush Color="{ThemeResource ContentDialogDimmingColor}" Opacity="0.7"/>
+                                    </Grid.Background>
+                                    <Grid.ColumnDefinitions>
+                                        <ColumnDefinition Width="0.50*"/>
+                                        <ColumnDefinition Width="3*"/>
+                                        <ColumnDefinition Width="Auto"/>
+                                    </Grid.ColumnDefinitions>
+                                    <Button  MinWidth="50" Content="l" Click="PreviousFolder" FontFamily="Assets/Font/iconfont.ttf#iconfont" Background="{x:Null}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
+                                    <Grid Grid.Column="1" VerticalAlignment="Center">
+                                        <Grid.ColumnDefinitions>
+                                            <ColumnDefinition Width="*"/>
+                                            <ColumnDefinition Width="5*"/>
+                                        </Grid.ColumnDefinitions>
+                                        <CheckBox x:Name="selectBox" Checked="SelectAll" Margin="10,-2" VerticalAlignment="Center" IsChecked="{x:Null}" HorizontalAlignment="Left" Background="{x:Null}" BorderBrush="{ThemeResource PhoneAccentBrush}" Foreground="{ThemeResource PhoneForegroundBrush}" Unchecked="selectBox_Unchecked"/>
+                                        <TextBlock Grid.Column="1" Margin="5" TextWrapping="NoWrap" x:Name="headerText" Text="" HorizontalAlignment="Left" VerticalAlignment="Center" FontSize="20" TextTrimming="WordEllipsis" TextLineBounds="TrimToCapHeight"/>
+                                    </Grid>
+                                    <Button x:Name="sortButton"  MinWidth="50" Grid.Column="2" FontFamily="Assets/Font/iconfont.ttf#iconfont" Click="OpenSortMenu">
+                                        <TextBlock Text="i"/>
+                                    </Button>
 
-                    </toolkit:ContextMenu>
 
-                </toolkit:ContextMenuService.ContextMenu>
-                <Image Source="{Binding Name2}" Width="60" Height="55" VerticalAlignment="Center" HorizontalAlignment="Center" />
-                <TextBlock x:Name="folderTap" Text="{Binding Name}" TextWrapping="NoWrap" VerticalAlignment="Bottom"  TextAlignment="Center" FontSize="16" />
-            </StackPanel>
-        </DataTemplate>
+                                    <Rectangle Grid.ColumnSpan="3" Height="2" MinHeight="2"  Fill="{ThemeResource PhoneAccentBrush}" Opacity="0.25" VerticalAlignment="Bottom"/>
+                                    <!--<local:BottomBarItem x:Name="compressButton" Visibility="Visible" HorizontalAlignment="Center" ImageText="B" Grid.Column="1" ContentText="compress"/>-->
+                                </Grid>
+                                <ScrollViewer Grid.Row="1" Margin="15" x:Name="EmptyFolderStack" Visibility="Collapsed">
+                                    <Grid>
+                                        <Grid.Background>
+                                            <SolidColorBrush Color="{ThemeResource PhoneChromeColor}"/>
+                                        </Grid.Background>
+                                        <Grid.RowDefinitions>
+                                            <RowDefinition Height="Auto"/>
+                                            <RowDefinition Height="Auto"/>
+                                            <RowDefinition Height="*"/>
+                                            <RowDefinition Height="*"/>
+                                        </Grid.RowDefinitions>
+                                        <Grid Grid.Row="1">
+                                            <Grid.Background>
+                                                <SolidColorBrush Color="{ThemeResource PhoneChromeColor}"/>
+                                            </Grid.Background>
+                                            <Grid.ColumnDefinitions>
+                                                <ColumnDefinition Width="*"/>
+                                                <ColumnDefinition Width="*"/>
+                                            </Grid.ColumnDefinitions>
+                                            <Grid>
+                                                <Grid.Background>
+                                                    <SolidColorBrush Color="{ThemeResource ContentDialogDimmingColor}" Opacity="0.6"/>
+                                                </Grid.Background>
+                                                <Button Margin="25"  Click="AddFolder" HorizontalAlignment="Center" Background="{x:Null}">
+                                                    <StackPanel>
+                                                        <TextBlock Text="G" FontSize="90" FontFamily="Assets/Font/iconfont.ttf#iconfont" Foreground="#FF27AE60"/>
+                                                        <TextBlock Text="add folder" HorizontalAlignment="Center"/>
+                                                    </StackPanel>
+                                                </Button>
+                                            </Grid>
+                                            <Grid Grid.Column="1">
+                                                <Grid.Background>
+                                                    <SolidColorBrush Color="{ThemeResource ContentDialogDimmingColor}" Opacity="0.805"/>
+                                                </Grid.Background>
+                                                <Button Click="AddFile" Margin="25"  HorizontalAlignment="Center" Grid.Column="1">
+                                                    <StackPanel>
+                                                        <TextBlock Text="S" FontSize="100" FontFamily="Assets/Font/iconfont.ttf#iconfont" Foreground="#FFF39C12"/>
+                                                        <TextBlock Text="add file" HorizontalAlignment="Center"/>
+                                                    </StackPanel>
+                                                </Button>
+                                            </Grid>
+                                        </Grid>
+                                        <Button HorizontalAlignment="Stretch" Grid.Row="2" VerticalAlignment="Stretch" Click="DeleteThisFolder" >
+                                            <Button.Background>
+                                                <SolidColorBrush Color="{ThemeResource PhoneBackgroundColor}" Opacity="0.7"/>
+                                            </Button.Background>
+                                            <Grid>
+                                                <Grid.ColumnDefinitions>
+                                                    <ColumnDefinition Width="*"/>
+                                                    <ColumnDefinition Width="3*"/>
+                                                </Grid.ColumnDefinitions>
+                                                <TextBlock VerticalAlignment="Center" Margin="10" Text="I" FontSize="66.667" FontFamily="Assets/Font/iconfont.ttf#iconfont">
+                                                    <TextBlock.Foreground>
+                                                        <SolidColorBrush Color="#FFE74C3C"/>
+                                                    </TextBlock.Foreground>
+                                                </TextBlock>
+                                                <TextBlock Margin="5" Text="delete this folder?" Grid.Column="1" VerticalAlignment="Center" Style="{StaticResource HeaderTextBlockStyle}" TextWrapping="Wrap" FontSize="33.333"/>
+                                            </Grid>
+                                        </Button>
+                                        <Button HorizontalAlignment="Stretch" Grid.Row="3" VerticalAlignment="Stretch" Click="PreviousFolder" >
+                                            <Button.Background>
+                                                <SolidColorBrush Color="{ThemeResource PhoneBackgroundColor}" Opacity="0.7"/>
+                                            </Button.Background>
+                                            <Grid>
+                                                <Grid.ColumnDefinitions>
+                                                    <ColumnDefinition Width="*"/>
+                                                    <ColumnDefinition Width="3*"/>
+                                                </Grid.ColumnDefinitions>
+                                                <TextBlock VerticalAlignment="Center" Margin="10" Text="l" FontSize="66.667" FontFamily="Assets/Font/iconfont.ttf#iconfont"/>
+                                                <TextBlock Margin="5" Text="go back" Grid.Column="1" VerticalAlignment="Center" Style="{StaticResource HeaderTextBlockStyle}" TextWrapping="Wrap" FontSize="33.333"/>
+                                            </Grid>
+                                        </Button>
+                                        <Grid>
+                                            <Grid.Background>
+                                                <SolidColorBrush Color="{ThemeResource ContentDialogDimmingColor}"/>
+                                            </Grid.Background>
+                                            <TextBlock Margin="10" Text="empty folder" Style="{StaticResource ComboBoxPlaceholderTextBlockStyle}" FontSize="22" VerticalAlignment="Top" HorizontalAlignment="Left">
+                                                <TextBlock.Foreground>
+                                                    <SolidColorBrush Color="{ThemeResource PhoneForegroundColor}"/>
+                                                </TextBlock.Foreground>
+                                            </TextBlock>
+                                        </Grid>
+
+                                    </Grid>
+                                </ScrollViewer>
+
+                                <!--><StackPanel Grid.Row="1" x:Name="MediaGridView"
+                                      ScrollViewer.VerticalScrollMode="Enabled"
+                                      ScrollViewer.VerticalScrollBarVisibility="Hidden"
+                                      ScrollViewer.HorizontalScrollBarVisibility="Disabled"
+                                      ScrollViewer.HorizontalScrollMode="Disabled"/>-->
+
+                                <StackPanel Grid.Row="2">
+                                    <Rectangle Height="2" MinHeight="2"  Fill="{ThemeResource PhoneAccentBrush}" Opacity="0.25"/>
+                                    <Grid>
+                                        <Grid.Background>
+                                            <SolidColorBrush Color="{ThemeResource ContentDialogDimmingColor}" Opacity="0.6"/>
+                                        </Grid.Background>
+                                        <Grid x:Name="operationBar" Visibility="Collapsed">
+                                            <Grid.ColumnDefinitions>
+                                                <ColumnDefinition Width="*"/>
+                                                <ColumnDefinition Width="*"/>
+                                                <ColumnDefinition Width="*"/>
+                                                <ColumnDefinition Width="*"/>
+                                            </Grid.ColumnDefinitions>
+                                            <local:BottomBarItem HorizontalAlignment="Center" ImageText="O"  ContentText="copy" Click="CutItems"/>
+                                            <local:BottomBarItem HorizontalAlignment="Center" Grid.Column="1" ImageText="I" ContentText="delete" Click="DeleteItem"/>
+                                            <local:BottomBarItem HorizontalAlignment="Center" ImageText="P" Grid.Column="2" ContentText="rename" Click="RenameItem"/>
+                                            <local:BottomBarItem  HorizontalAlignment="Center" ImageText="n" MinHeight="55" ContentText="share" Grid.Column="3" Click="ShareContent"/>
+                                        </Grid>
+                                        <Grid x:Name="operationBarNormal">
+                                            <Grid.ColumnDefinitions>
+                                                <ColumnDefinition Width="*"/>
+                                                <ColumnDefinition Width="*"/>
+                                                <ColumnDefinition Width="*"/>
+                                                <ColumnDefinition Width="*"/>
+                                            </Grid.ColumnDefinitions>
+                                            <local:BottomBarItem ImageText="G" ContentText="add folder" Click="AddFolder" HorizontalAlignment="Center"/>
+                                            <local:BottomBarItem Grid.Column="1" ImageText="S" ContentText="add file" Click="AddFile" HorizontalAlignment="Center"/>
+                                            <local:BottomBarItem 
+                                        ImageText="T"  
+                                        Grid.Column="2" 
+                                        ContentText="paste" 
+                                        Click="PasteItem" 
+                                        HorizontalAlignment="Center"/>
+                                            <local:BottomBarItem x:Name="gridList" Grid.Column="3" ImageText="N" MinHeight="55" IsEnabled="True" ContentText="grid" Click="GridListChange" HorizontalAlignment="Center"/>
+                                        </Grid>
 
-        <DataTemplate x:Name="File360MusicTemplate">
-            <StackPanel>
-                <TextBlock x:Name="{Binding MusicIndex}" Text="{Binding SongName}" FontFamily="Default" Tap="txtB_Tap"  FontWeight="Normal" FontSize="30" Height="43"/>
-                <TextBlock x:Name="txtB2" Text="{Binding ArtistName}" TextWrapping="Wrap" Style="{StaticResource PhoneTextSubtleStyle}" Height="50"/>
-            </StackPanel>
-        </DataTemplate>
 
-    </phone:PhoneApplicationPage.Resources>
-
-    <phone:PhoneApplicationPage.ApplicationBar>
-        <shell:ApplicationBar x:Name="appBar" IsVisible="True" IsMenuEnabled="True" Mode="Default" Opacity="1.0" >
-
-            <shell:ApplicationBar.MenuItems>
-                <shell:ApplicationBarMenuItem Text="settings" Click="Settings_Click" />
-            </shell:ApplicationBar.MenuItems>
-
-            <shell:ApplicationBarIconButton x:Name="NewFolder" IconUri="/Toolkit.Content/ApplicationBar.Add.png" Text="new folder" Click="NewFolder_Click" />
-            <shell:ApplicationBarIconButton x:Name="MultiSelect" IconUri="/Toolkit.Content/ApplicationBar.Select.png" Text="multi select" Click="MultiSelect_Click" />
-
-        </shell:ApplicationBar>
-    </phone:PhoneApplicationPage.ApplicationBar>
-
-
-
-    <Grid x:Name="LayoutRoot">
-        <Grid.RowDefinitions>
-            <RowDefinition Height="126*"/>
-            <RowDefinition Height="183*"/>
-            <RowDefinition Height="388*"/>
-        </Grid.RowDefinitions>
-        <Canvas x:Name="canvas" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Grid.RowSpan="3">
-            <Canvas.Resources>
-                <Storyboard x:Name="moveAnimation">
-                    <DoubleAnimation Duration="0:0:0.2" To="0" Storyboard.TargetProperty="(Canvas.Left)" Storyboard.TargetName="CanvasRoot" d:IsOptimized="True" />
-                </Storyboard>
-            </Canvas.Resources>
-            <Canvas.Background>
-                <StaticResource ResourceKey="PhoneBackgroundBrush"/>
-            </Canvas.Background>
-            <Canvas  CacheMode="BitmapCache" x:Name="CanvasRoot" Width="1170"  VerticalAlignment="Stretch" Canvas.Left="-320" Height="768">
-                <Border Width="310"  CacheMode="BitmapCache" Background="{StaticResource PhoneBackgroundBrush}" Grid.Column="0" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Height="768">
-                    <Grid HorizontalAlignment="Left" Width="310" Background="{StaticResource PhoneChromeBrush}">
-                        <ListBox x:Name="SideBar" Height="978" VerticalAlignment="Bottom" Margin="0,0,4,-301">
-                            <ListBox.Background>
-                                <ImageBrush Stretch="UniformToFill" ImageSource="/Resources/Assets/Wallpaper/bg1.jpg"/>
-                            </ListBox.Background>
-                            <Grid Width="310" Background="{StaticResource PhoneProgressBarBackgroundBrush}">
-                                <Ellipse HorizontalAlignment="Left" Height="64" Margin="23,25,0,0" VerticalAlignment="Top" Width="64" Fill="{StaticResource PhoneButtonBasePressedForegroundBrush}"/>
-                                <Image Margin="39,39,240,31" Source="/Resources/Assets/Images/user.png"/>
-                                <TextBlock Text="Hi User!" FontSize="24" TextAlignment="Center" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="15,0,0,0">
-                                	<TextBlock.Foreground>
-                                		<SolidColorBrush Color="White"/>
-                                	</TextBlock.Foreground>
-                                </TextBlock>
+                                    </Grid>
+                                </StackPanel>
                             </Grid>
-                            <Grid Width="310" Height="103" Background="#AA000000">
-                                <Ellipse Tap="oneFill_Tap" x:Name="oneFill" HorizontalAlignment="Left" Height="64" Margin="23,23,0,0" VerticalAlignment="Top" Width="64" Fill="#FF094AB2">
-                                    <Ellipse.OpacityMask>
-                                        <ImageBrush ImageSource="Resources/Assets/Images/onedrive.png" Stretch="Fill"/>
-                                    </Ellipse.OpacityMask>
-                                </Ellipse>
-                                <TextBlock Margin="0,0,15,0" Text="OneDrive" FontSize="24" TextAlignment="Center" HorizontalAlignment="Center" VerticalAlignment="Center">
-                                	<TextBlock.Foreground>
-                                		<SolidColorBrush Color="White"/>
-                                	</TextBlock.Foreground>
-                                </TextBlock>
+                            <Grid x:Name="MainFragment" Width="40" Margin="0,50" HorizontalAlignment="Left">
+                                <Grid.Background>
+                                    <SolidColorBrush Color="{ThemeResource ContentDialogDimmingColor}" Opacity="0"/>
+                                </Grid.Background>
                             </Grid>
-                            <Grid x:Name="sdcard_menu" Tap="sdcard_menu_Tap" Width="310" Height="107" Background="{StaticResource TransparentBrush}">
-                                <TextBlock Margin="100,0,0,0" Text="SD" FontSize="24" TextAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Left">
-                                	<TextBlock.Foreground>
-                                		<SolidColorBrush Color="White"/>
-                                	</TextBlock.Foreground>
-                                </TextBlock>
-                                <Ellipse Fill="{StaticResource PhoneInverseBackgroundBrush}" HorizontalAlignment="Left" Height="64" Margin="23,25,0,0" VerticalAlignment="Top" Width="64"/>
-                                <Image Margin="35,27,237,24" Source="/Resources/Assets/Images/sdcard.png" OpacityMask="{StaticResource PhoneAccentBrush}"/>
+                            <Grid x:Name="ListFragment" Width="250" HorizontalAlignment="Left" ManipulationMode="TranslateX">
+                                <Grid.Background>
+                                    <SolidColorBrush Color="{ThemeResource PhoneChromeColor}"/>
+                                </Grid.Background>
+                                <Grid Height="57" VerticalAlignment="Top" d:LayoutOverrides="TopMargin, BottomMargin">
+                                    <Grid.ColumnDefinitions>
+                                        <ColumnDefinition Width="*"/>
+                                        <ColumnDefinition Width="Auto"/>
+                                    </Grid.ColumnDefinitions>
+                                    <Border>
+                                        <Border.Background>
+                                            <SolidColorBrush Color="{StaticResource MediaControlPanelVideoThemeColor}"/>
+                                        </Border.Background>
+                                        <TextBox x:Name="searchBox" VerticalAlignment="Stretch" MinWidth="54" BorderThickness="0" ScrollViewer.VerticalScrollBarVisibility="Disabled" Padding="0" UseLayoutRounding="False" Style="{StaticResource SearchBox}" Text="" Background="{x:Null}" TextChanged="searchBox_TextChanged"/>
+                                    </Border>
+                                    <Button Grid.Column="1"  MinWidth="20" Width="50" BorderBrush="{x:Null}" BorderThickness="0" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" FontSize="26.667">
+                                        <Button.Background>
+                                            <SolidColorBrush Color="{ThemeResource ContentDialogDimmingColor}" Opacity="0.5"/>
+                                        </Button.Background>
+                                        <TextBlock Text="s" FontFamily="Assets/Font/iconfont.ttf#iconfont" FontSize="29.333"/>
+                                    </Button>
+                                </Grid>
+                                <ScrollViewer  BorderBrush="{x:Null}" BorderThickness="0" ManipulationMode="TranslateX" IsRightTapEnabled="False" IsHoldingEnabled="False" IsDoubleTapEnabled="False" Margin="0,57,0,0" Background="{x:Null}">
+
+                                    <StackPanel>
+
+                                        <StackPanel>
+                                            <TextBlock Margin="10,4" Opacity="0.60" Text="Settings" FontSize="18.667"/>
+                                            <Grid x:Name="SettingsTab" Height="250">
+                                                <Grid.RowDefinitions>
+                                                    <RowDefinition Height="*"/>
+                                                    <RowDefinition Height="*"/>
+                                                    <RowDefinition Height="*"/>
+                                                </Grid.RowDefinitions>
+                                                <Grid.ColumnDefinitions>
+                                                    <ColumnDefinition Width="*"/>
+                                                    <ColumnDefinition Width="*"/>
+                                                    <ColumnDefinition Width="*"/>
+                                                </Grid.ColumnDefinitions>
+                                                <!--<Button  HorizontalAlignment="Center" VerticalAlignment="Center" Click="OpenBluetoothSettings">
+                                                    <StackPanel HorizontalAlignment="Center" VerticalAlignment="Center">
+                                                        <TextBlock Text="b" FontSize="25" FontFamily="Assets/Font/settingsfont.ttf#settingsfont" HorizontalAlignment="Center" TextAlignment="Center" VerticalAlignment="Top" Margin="5,0,10,5" Foreground="{ThemeResource PhoneAccentBrush}" Opacity="0.95" LineStackingStrategy="MaxHeight" FontWeight="Thin"/>
+                                                        <TextBlock Text="bluetooth" HorizontalAlignment="Center" FontSize="13.333"/>
+                                                        --><!--<TextBlock Text="configure bluetooth settings" HorizontalAlignment="Center"  FontSize="13"/>--><!--
+                                                    </StackPanel>
+                                                </Button>-->
+                                                <Button  Grid.Column="1"  HorizontalAlignment="Center" VerticalAlignment="Center" Click="HelpOpen">
+                                                    <StackPanel HorizontalAlignment="Center" VerticalAlignment="Center">
+                                                        <TextBlock Text="h" FontSize="25" FontFamily="Assets/Font/settingsfont.ttf#settingsfont" HorizontalAlignment="Center" TextAlignment="Center" VerticalAlignment="Top" Margin="5,0,10,5" Foreground="{ThemeResource PhoneAccentBrush}" Opacity="0.95" LineStackingStrategy="MaxHeight" FontWeight="Thin"/>
+                                                        <TextBlock Text="help" HorizontalAlignment="Center" FontSize="13.333"/>
+                                                        <!--<TextBlock Text="check out this guide" HorizontalAlignment="Center" FontFamily="Helvetica Neue" FontSize="13" FontWeight="Normal"/>-->
+                                                    </StackPanel>
+                                                </Button>
+                                                <Border x:Name="border1" Grid.ColumnSpan="3" Grid.RowSpan="3" CornerRadius="20" Canvas.ZIndex="10" RenderTransformOrigin="0.5,0.5" Opacity="0">
+                                                    <Border.RenderTransform>
+                                                        <CompositeTransform ScaleX="0.3" ScaleY="0.3" TranslateX="80" TranslateY="-100"/>
+                                                    </Border.RenderTransform>
+                                                    <Border.Background>
+                                                        <SolidColorBrush Color="{ThemeResource PhoneForegroundColor}"/>
+                                                    </Border.Background>
+                                                    <StackPanel Margin="60,50,60,0">
+                                                        <TextBlock Text="ADDRESS" FontSize="20" TextAlignment="Center" HorizontalAlignment="Center">
+                                                            <TextBlock.Foreground>
+                                                                <SolidColorBrush Color="{ThemeResource PhoneChromeColor}"/>
+                                                            </TextBlock.Foreground>
+                                                        </TextBlock>
+                                                        <TextBlock Text="192.168.1.1" TextAlignment="Center" FontSize="20" HorizontalAlignment="Center">
+                                                            <TextBlock.Foreground>
+                                                                <SolidColorBrush Color="{ThemeResource PhoneChromeColor}"/>
+                                                            </TextBlock.Foreground>
+                                                        </TextBlock>
+                                                        <Button HorizontalAlignment="Center" Click="StopFTP">
+                                                            <Grid>
+                                                                <Ellipse x:Name="ellipse" Height="100" Width="100" Fill="#BFEA1010"/>
+                                                                <TextBlock Text="X" HorizontalAlignment="Center" FontSize="25" TextAlignment="Center" VerticalAlignment="Center">
+                                                                    <TextBlock.Foreground>
+                                                                        <SolidColorBrush Color="White"/>
+                                                                    </TextBlock.Foreground>
+                                                                </TextBlock>
+                                                            </Grid>
+                                                        </Button>
+
+                                                    </StackPanel>
+                                                </Border>
+                                                <Grid Grid.Column="2" Canvas.ZIndex="11">
+                                                    <Button MinWidth="0" x:Name="button" HorizontalAlignment="Stretch" Click="OpenFTP">
+                                                        <Border x:Name="border3" CornerRadius="50" VerticalAlignment="Center" Width="65" Height="65">
+                                                            <Border.Background>
+                                                                <SolidColorBrush Color="{ThemeResource SystemColorControlAccentColor}"/>
+                                                            </Border.Background>
+                                                            <Grid>
+                                                                <Ellipse x:Name="ellipse1" Margin="5">
+                                                                    <Ellipse.Fill>
+                                                                        <SolidColorBrush Color="{ThemeResource ContentDialogDimmingColor}"/>
+                                                                    </Ellipse.Fill>
+                                                                </Ellipse>
+                                                                <TextBlock Text="FTP" VerticalAlignment="Center" HorizontalAlignment="Center" Foreground="#D8FFFFFF"/>
+                                                            </Grid>
+                                                        </Border>
+                                                    </Button>
+                                                </Grid>
+                                                <Grid x:Name="password_rect" Grid.Column="2" Grid.Row="2" Tapped="password_rect_Tapped">
+                                                    <Grid.Background>
+                                                        <SolidColorBrush Color="{ThemeResource PhoneChromeColor}"/>
+                                                    </Grid.Background>
+                                                    <TextBlock x:Name="textBlock1" FontFamily="Assets/Font/iconfont.ttf#iconfont" Text="r" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="26.667">
+                                                        <TextBlock.Foreground>
+                                                            <SolidColorBrush Color="{ThemeResource PhoneBaseMediumMidColor}"/>
+                                                        </TextBlock.Foreground>
+                                                    </TextBlock>
+                                                </Grid>
+                                                <ToggleButton MinWidth="0" x:Name="musicToggle" Checked="musicToggle_Checked" Unchecked="musicToggle_Unchecked" Grid.Row="1" BorderThickness="0" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
+                                                    <StackPanel HorizontalAlignment="Center">
+                                                        <TextBlock  HorizontalAlignment="Center" Text="b" FontFamily="Assets/Font/iconfont.ttf#iconfont" FontSize="33.333" VerticalAlignment="Center" Foreground="{ThemeResource PhoneAccentBrush}"/>
+                                                        <TextBlock Text="music"/>
+                                                    </StackPanel>
+                                                </ToggleButton>
+                                                <ToggleButton MinWidth="0" Grid.Row="1" Grid.Column="1" x:Name="videosToggle" Checked="videosToggle_Checked" Unchecked="videosToggle_Unchecked" BorderThickness="0" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
+                                                    <StackPanel>
+                                                        <TextBlock  HorizontalAlignment="Center" Text=")" FontFamily="Assets/Font/iconfont.ttf#iconfont" FontSize="33.333" VerticalAlignment="Center" Foreground="{ThemeResource PhoneAccentBrush}"/>
+                                                        <TextBlock Text="videos" HorizontalAlignment="Center"/>
+                                                    </StackPanel>
+                                                </ToggleButton>
+                                                <ToggleButton Grid.Column="2" Grid.Row="1" Visibility="Collapsed" x:Name="ebookToggle" Checked="ebookToggle_Checked" Unchecked="ebookToggle_Unchecked" BorderThickness="0" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
+                                                    <StackPanel>
+                                                        <TextBlock  HorizontalAlignment="Center" Text="m" FontFamily="Assets/Font/iconfont.ttf#iconfont" FontSize="33.333" Foreground="{ThemeResource PhoneAccentBrush}"/>
+                                                    </StackPanel>
+                                                </ToggleButton>
+                                                <ToggleButton MinWidth="0" Grid.Row="1" Grid.Column="2" x:Name="picturesToggle" Checked="picturesToggle_Checked" Unchecked="picturesToggle_Unchecked" BorderThickness="0" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
+                                                    <StackPanel>
+                                                        <TextBlock  HorizontalAlignment="Center" Text="M" FontFamily="Assets/Font/iconfont.ttf#iconfont" FontSize="33.333" VerticalAlignment="Center" Foreground="{ThemeResource PhoneAccentBrush}"/>
+                                                        <TextBlock Text="pictures" HorizontalAlignment="Center"/>
+                                                    </StackPanel>
+                                                </ToggleButton>
+                                                <Border Grid.Row="2" Grid.Column="1" BorderThickness="5" RenderTransformOrigin="0.5,0.5">
+                                                    <Grid x:Name="grid3" RenderTransformOrigin="0.5,0.5">
+                                                        <Grid.RenderTransform>
+                                                            <CompositeTransform/>
+                                                        </Grid.RenderTransform>
+                                                        <Grid.Background>
+                                                            <SolidColorBrush Color="{ThemeResource PhoneForegroundColor}"/>
+                                                        </Grid.Background>
+                                                        <Rectangle x:Name="rectangle1" Margin="10" Fill="{ThemeResource PhoneAccentBrush}" RenderTransformOrigin="0.5,0.5">
+                                                            <Rectangle.RenderTransform>
+                                                                <CompositeTransform/>
+                                                            </Rectangle.RenderTransform>
+                                                        </Rectangle>
+
+                                                        <Rectangle x:Name="rectangle2" Margin="20" RenderTransformOrigin="0.5,0.5">
+                                                            <Rectangle.RenderTransform>
+                                                                <CompositeTransform/>
+                                                            </Rectangle.RenderTransform>
+                                                            <Rectangle.Fill>
+                                                                <SolidColorBrush Color="{ThemeResource PhoneChromeColor}"/>
+                                                            </Rectangle.Fill>
+                                                        </Rectangle>
+                                                    </Grid>
+                                                </Border>
+                                                <ToggleButton MinWidth="0" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" BorderThickness="0">
+                                                    <StackPanel>
+                                                        <TextBlock TextAlignment="Center" Text="c" FontFamily="Assets/Font/iconfont.ttf#iconfont" FontSize="33.333" VerticalAlignment="Center" Foreground="{ThemeResource PhoneAccentBrush}"/>
+                                                        <TextBlock Text="list" HorizontalAlignment="Center"/>
+                                                    </StackPanel>
+                                                </ToggleButton>
+                                            </Grid>
+                                        </StackPanel>
+                                        <local:SideBarMenuButton ImageText="F" ContentText="Recent" HorizontalAlignment="Stretch"/>
+
+                                        <Button x:Name="sdbutton" HorizontalContentAlignment="Left"  HorizontalAlignment="Stretch" Width="260" Click="SDCardEnumerator" Margin="0,5">
+                                            <StackPanel Orientation="Vertical" VerticalAlignment="Top" HorizontalAlignment="Left">
+                                                <StackPanel Orientation="Horizontal">
+                                                    <TextBlock VerticalAlignment="Center" Text="SD Card" FontFamily="Assets/Font/Custom/Raleway-Light.ttf#Raleway" FontWeight="Light" FontSize="21.333" />
+                                                    <SymbolIcon x:Name="symbolIcon" Symbol="Refresh" RenderTransformOrigin="0.5,0.5" Margin="100,0,0,0" >
+                                                        <SymbolIcon.RenderTransform>
+                                                            <CompositeTransform/>
+                                                        </SymbolIcon.RenderTransform>
+                                                    </SymbolIcon>
+                                                </StackPanel>
+                                                <TextBlock FontSize="10" VerticalAlignment="Bottom" Margin="0,0,0,7" HorizontalAlignment="Left">
+                                                    <TextBlock.Foreground>
+                                                        <SolidColorBrush Color="{ThemeResource TextBoxPlaceholderColor}"/>
+                                                    </TextBlock.Foreground>
+                					<Run x:Name="FreeSpace" Foreground="{ThemeResource PhoneForegroundBrush}" FontWeight="Bold" FontSize="13.333" Text="2"/>
+                					<Run Text="GB free"/>
+                                                </TextBlock>
+                                                <ProgressBar x:Name="sdProgbar" Height="3" Width="250"/>
+                                                <TextBlock x:Name="textBlock" Text="please wait... sdcard is loading" FontSize="13" Visibility="Collapsed" Foreground="#66FFF2F2"/>
+                                            </StackPanel>
+                                        </Button>
+                                        <Button HorizontalContentAlignment="Left"  Click="PhoneEnumerator" Margin="0,5" HorizontalAlignment="Stretch">
+                                            <StackPanel Orientation="Horizontal">
+                                                <StackPanel>
+                                                    <TextBlock Text="Phone" Foreground="{ThemeResource PhoneForegroundBrush}" FontFamily="Assets/Font/Custom/Raleway-Light.ttf#Raleway" FontWeight="Light" FontSize="21.333"/>
+                                                    <TextBlock Text="browse internal memory" FontSize="10.667">
+                                                        <TextBlock.Foreground>
+                                                            <SolidColorBrush Color="{ThemeResource TextBoxPlaceholderColor}"/>
+                                                        </TextBlock.Foreground>
+                                                    </TextBlock>
+                                                    <ProgressBar Margin="0,5" Height="3" Maximum="{Binding Maximum,ElementName=sdProgbar}" Width="{Binding ActualWidth,ElementName=sdProgbar}" Value="{Binding Value, ElementName=sdProgbar}"/>
+                                                </StackPanel>
+                                            </StackPanel>
+                                        </Button>
+                                        <Button HorizontalContentAlignment="Left"  HorizontalAlignment="Stretch" Width="260" Click="PersonalStorageEnumerator" Margin="0,5">
+                                            <StackPanel Grid.Column="1" Orientation="Vertical" VerticalAlignment="Top" HorizontalAlignment="Left">
+                                                <StackPanel Orientation="Horizontal">
+                                                    <TextBlock VerticalAlignment="Center" Text="Home" FontFamily="Assets/Font/Custom/Raleway-Light.ttf#Raleway" FontWeight="Light" FontSize="21.333" />
+                                                    <SymbolIcon x:Name="symbolIcon1" Symbol="Refresh" RenderTransformOrigin="0.5,0.5" Margin="115,0,0,0" Tapped="PhoneRefreshTapped" >
+                                                        <SymbolIcon.RenderTransform>
+                                                            <CompositeTransform/>
+                                                        </SymbolIcon.RenderTransform>
+                                                    </SymbolIcon>
+                                                </StackPanel>
+                                                <TextBlock FontSize="10" VerticalAlignment="Bottom" Margin="0,0,0,7" HorizontalAlignment="Left">
+                                                    <TextBlock.Foreground>
+                                                        <SolidColorBrush Color="{ThemeResource TextBoxPlaceholderColor}"/>
+                                                    </TextBlock.Foreground>
+                                    	<Run FontWeight="Bold" Text="{Binding Text,ElementName=FreeSpace}"/>
+                                    	<Run Text="GB free"/>
+                                                </TextBlock>
+
+                                                <TextBlock Visibility="Collapsed" x:Name="phoneWarning" Text="please wait... phone memory is loading" FontSize="13" Foreground="#66FFF2F2"/>
+                                            </StackPanel>
+                                        </Button>
+
+
+                                        <TextBlock Margin="10,4" Opacity="0.60" Text="Library"/>
+                                        <local:SideBarMenuButton ImageText="M" ContentText="Pictures" Click="PicturesLibraryTapped" HorizontalAlignment="Stretch" Width="Auto"/>
+                                        <local:SideBarMenuButton ImageText="C" ContentText="Video" Click="VideoLibraryTapped" HorizontalAlignment="Stretch" Width="Auto"/>
+                                        <local:SideBarMenuButton ImageText="y" ContentText="Music" Click="MusicLibraryClick" HorizontalAlignment="Stretch" Width="Auto"/>
+                                        <!--<Button Click="RightMenu_Click" HorizontalContentAlignment="Left"  Margin="0,5" Visibility="Collapsed">
+                                <StackPanel Orientation="Horizontal">
+                                    <StackPanel>
+                                        <TextBlock Text="Downloads" Foreground="{ThemeResource PhoneForegroundBrush}" FontFamily="Assets/Font/Custom/Raleway-Light.ttf#Raleway" FontWeight="Light" FontSize="21.333"/>
+                                        <TextBlock Text="there are no active downloads" FontSize="10.667">
+                                            <TextBlock.Foreground>
+                                                <SolidColorBrush Color="{ThemeResource TextBoxPlaceholderColor}"/>
+                                            </TextBlock.Foreground>
+                                        </TextBlock>
+                                    </StackPanel>
+                                </StackPanel>
+                            </Button>-->
+                                        <Rectangle Height="2" Margin="5">
+                                            <Rectangle.Fill>
+                                                <SolidColorBrush Color="{ThemeResource PhoneForegroundColor}" Opacity="0.25"/>
+                                            </Rectangle.Fill>
+                                        </Rectangle>
+                                        <Button Click="NowPlaying"  Height="100" HorizontalAlignment="Stretch" BorderThickness="0" HorizontalContentAlignment="Stretch">
+                                            <Grid>
+                                                <Grid.ColumnDefinitions>
+                                                    <ColumnDefinition Width="Auto"/>
+                                                    <ColumnDefinition Width="*"/>
+                                                </Grid.ColumnDefinitions>
+                                                <Border x:Name="border2" Height="75" Width="75" Background="{x:Null}">
+                                                    <Rectangle x:Name="rectangle" Fill="{Binding Background, ElementName=imageContainerMedia}" RenderTransformOrigin="0.5,0.5">
+                                                        <Rectangle.Projection>
+                                                            <PlaneProjection/>
+                                                        </Rectangle.Projection>
+                                                        <Rectangle.RenderTransform>
+                                                            <CompositeTransform/>
+                                                        </Rectangle.RenderTransform>
+                                                    </Rectangle>
+                                                </Border>
+                                                <StackPanel Grid.Column="1" Margin="5" VerticalAlignment="Bottom">
+                                                    <TextBlock Text="Now Playing" FontSize="15" FontWeight="Thin"/>
+                                                    <TextBlock Text="{Binding Text, ElementName=SongName}" TextTrimming="WordEllipsis" TextWrapping="Wrap"/>
+                                                    <TextBlock FontSize="12" Opacity="0.60" Text="{Binding Text, ElementName=SongArtist}" TextTrimming="WordEllipsis"/>
+                                                    <ProgressBar Maximum="{Binding Maximum, ElementName=musicSlider}" Value="{Binding Value, ElementName=musicSlider}"/>
+                                                </StackPanel>
+                                            </Grid>
+                                        </Button>
+                                        <Rectangle Height="2" Margin="5">
+                                            <Rectangle.Fill>
+                                                <SolidColorBrush Color="{ThemeResource PhoneForegroundColor}" Opacity="0.25"/>
+                                            </Rectangle.Fill>
+                                        </Rectangle>
+
+                                        <!--<Button HorizontalContentAlignment="Left"  Margin="0,5" Click="Browser" Visibility="Collapsed">
+                                <StackPanel Orientation="Horizontal">
+                                    <StackPanel>
+                                        <TextBlock Text="Experimental Browser" Foreground="{ThemeResource PhoneForegroundBrush}" FontFamily="Assets/Font/Custom/Raleway-Light.ttf#Raleway" FontWeight="Light" FontSize="21.333"/>
+                                        <TextBlock Text="Internet connection inactive" FontSize="10.667">
+                                            <TextBlock.Foreground>
+                                                <SolidColorBrush Color="{ThemeResource TextBoxPlaceholderColor}"/>
+                                            </TextBlock.Foreground>
+                                        </TextBlock>
+                                    </StackPanel>
+                                </StackPanel>
+                            </Button>-->
+
+
+
+
+
+                                    </StackPanel>
+                                </ScrollViewer>
+                            </Grid>
+                            <Grid x:Name="DownloadsFragment" ManipulationMode="TranslateX" Visibility="Collapsed">
+                                <Grid.Background>
+                                    <SolidColorBrush Color="{ThemeResource PhoneBackgroundColor}"/>
+                                </Grid.Background>
+                                <Grid.RowDefinitions>
+                                    <RowDefinition Height="*"/>
+                                    <RowDefinition Height="Auto"/>
+                                </Grid.RowDefinitions>
+                                <ScrollViewer BorderBrush="{x:Null}" BorderThickness="0" ManipulationMode="TranslateY" IsRightTapEnabled="False" IsHoldingEnabled="False" IsDoubleTapEnabled="False" Margin="0">
+                                    <ScrollViewer.Background>
+                                        <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0" Opacity="0.1">
+                                            <GradientStop Color="Black" Offset="0"/>
+                                            <GradientStop Color="Black" Offset="1"/>
+                                            <GradientStop Offset="0.03"/>
+                                            <GradientStop Offset="0.97"/>
+                                        </LinearGradientBrush>
+                                    </ScrollViewer.Background>
+                                    <StackPanel>
+                                        <local:DownloadIndicator HorizontalAlignment="Stretch"/>
+                                    </StackPanel>
+                                </ScrollViewer>
+                                <Grid Grid.Row="1" Height="57">
+                                    <Grid.Background>
+                                        <SolidColorBrush Color="{ThemeResource PhoneForegroundColor}"/>
+                                    </Grid.Background>
+                                    <Grid.ColumnDefinitions>
+                                        <ColumnDefinition Width="*"/>
+                                        <ColumnDefinition Width="Auto"/>
+                                    </Grid.ColumnDefinitions>
+                                    <toolkit:WatermarkTextBox Foreground="{StaticResource PhoneBackgroundBrush}" TextWrapping="NoWrap" VerticalContentAlignment="Center" WatermarkText="url..." MinWidth="200" BorderThickness="0" Margin="0" FontSize="21.333" VerticalAlignment="Stretch" Background="{x:Null}" FontFamily="Assets/Font/Custom/Raleway-Light.ttf#Raleway" BorderBrush="{x:Null}"/>
+                                    <Button Grid.Column="1"  MinWidth="20" Width="50" BorderBrush="{x:Null}" BorderThickness="0" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Foreground="#FFA04F4F" Background="{x:Null}">
+                                        <TextBlock Text="q" FontFamily="Assets/Font/iconfont.ttf#iconfont">
+                                            <TextBlock.Foreground>
+                                                <SolidColorBrush Color="{ThemeResource PhoneBackgroundColor}"/>
+                                            </TextBlock.Foreground>
+                                        </TextBlock>
+                                    </Button>
+                                </Grid>
                             </Grid>
-                            <Grid Width="310" Height="107" Background="{StaticResource PhoneDisabledBrush}">
-                                <TextBlock Margin="100,0,0,0" Text="Phone" FontSize="24" TextAlignment="Center" HorizontalAlignment="Left" VerticalAlignment="Center">
-                                	<TextBlock.Foreground>
-                                		<SolidColorBrush Color="White"/>
-                                	</TextBlock.Foreground>
-                                </TextBlock>
-                                <Ellipse Fill="{StaticResource PhoneInverseBackgroundBrush}" HorizontalAlignment="Left" Height="64" Margin="23,25,0,0" VerticalAlignment="Top" Width="64"/>
-                                <Image Margin="43,28,245,20" Source="/Resources/Assets/Images/phone.png" OpacityMask="{StaticResource PhoneAccentBrush}"/>
+                        </local:DrawerLayout>
+
+                    </Grid>
+                    <Grid x:Name="WebBrowser" Visibility="Collapsed">
+                        <Grid.Background>
+                            <SolidColorBrush Color="{ThemeResource PhoneBackgroundColor}" Opacity="0.9"/>
+                        </Grid.Background>
+                        <Grid.RowDefinitions>
+                            <RowDefinition Height="Auto"/>
+                            <RowDefinition Height="*"/>
+                        </Grid.RowDefinitions>
+                        <Grid>
+                            <Grid.ColumnDefinitions>
+                                <ColumnDefinition Width="Auto"/>
+                                <ColumnDefinition Width="*"/>
+                                <ColumnDefinition Width="Auto"/>
+                            </Grid.ColumnDefinitions>
+                            <StackPanel Orientation="Horizontal">
+                                <Button MinWidth="0"  Content="l" FontFamily="Assets/Font/iconfont.ttf#iconfont"/>
+                                <Button MinWidth="0" Content="r"  FontFamily="Assets/Font/iconfont.ttf#iconfont"/>
+                            </StackPanel>
+                            <TextBox x:Name="webAddressBar" Grid.Column="1" Margin="10">
+                                <TextBox.Foreground>
+                                    <SolidColorBrush Color="{ThemeResource PhoneBackgroundColor}"/>
+                                </TextBox.Foreground>
+                                <TextBox.Background>
+                                    <SolidColorBrush Color="{ThemeResource PhoneForegroundColor}"/>
+                                </TextBox.Background>
+                            </TextBox>
+                            <Button Content="GO" HorizontalAlignment="Right" Grid.Column="1"  Click="Button_Click"/>
+                        </Grid>
+                        <WebView x:Name="webView" Grid.Row="1"/>
+                    </Grid>
+                </Grid>
+            </Grid>
+            <Grid x:Name="MediaFragment" Grid.RowSpan="2" RequestedTheme="Dark"  RenderTransformOrigin="0,0">
+                <Grid.RenderTransform>
+                    <CompositeTransform TranslateX="600"/>
+                </Grid.RenderTransform>
+                <Grid x:Name="imageContainerMedia" VerticalAlignment="Stretch">
+                    <Grid.Background>
+                        <SolidColorBrush Color="{ThemeResource PhoneBackgroundColor}"/>
+                    </Grid.Background>
+                    <Viewbox StretchDirection="Both" Stretch="Uniform">
+                        <MediaElement x:Name="mediaPlayer" AudioCategory="BackgroundCapableMedia" VerticalAlignment="Center"/>
+                    </Viewbox>
+                    <Grid VerticalAlignment="Stretch" Margin="0">
+                        <Grid.RowDefinitions>
+                            <RowDefinition Height="Auto"/>
+                            <RowDefinition Height="*"/>
+                        </Grid.RowDefinitions>
+                        <Grid x:Name="grid1"  ManipulationDelta="mediaFragManipDelta" ManipulationCompleted="mediaFragManipCompleted" ManipulationMode="TranslateX" CacheMode="BitmapCache" Opacity="1">
+                            <Grid.Background>
+                                <SolidColorBrush Color="{ThemeResource ContentDialogDimmingColor}"/>
+                            </Grid.Background>
+                            <Grid.ColumnDefinitions>
+                                <ColumnDefinition Width="*"/>
+                                <ColumnDefinition Width="Auto"/>
+                                <ColumnDefinition Width="Auto"/>
+                            </Grid.ColumnDefinitions>
+                            <Grid MinWidth="50" MinHeight="0" >
+                                <Grid.ColumnDefinitions>
+                                    <ColumnDefinition Width="Auto"/>
+                                    <ColumnDefinition Width="Auto"/>
+                                </Grid.ColumnDefinitions>
+                                <Button >
+                                    <StackPanel Margin="10,0" Orientation="Horizontal">
+                                        <StackPanel VerticalAlignment="Center" CacheMode="BitmapCache" x:Name="grid" Grid.Column="1" Margin="0">
+                                            <TextBlock x:Name="SongName" Text="no media" TextWrapping="NoWrap" MinWidth="175" FontSize="18.667" VerticalAlignment="Center" FontFamily="Assets/Font/Custom/Raleway-Light.ttf#Raleway" Margin="0" HorizontalAlignment="Left" Foreground="White"/>
+                                            <TextBlock x:Name="SongArtist" Text="" FontSize="10.667" VerticalAlignment="Center" Margin="0" FontFamily="Assets/Font/Custom/ClearSans-Thin.ttf#Clear Sans Thin" HorizontalAlignment="Left" Foreground="White"/>
+                                        </StackPanel>
+                                    </StackPanel>
+                                </Button>
                             </Grid>
-                            <Grid toolkit:TiltEffect.SuppressTilt="True" Margin="0,0,0,0" Width="310" Height="142" Background="{StaticResource PhoneBorderBrush}">
-                                <Rectangle x:Name="rect_above" HorizontalAlignment="Left" Height="22" Margin="24,30,0,0" VerticalAlignment="Top" Width="56" RenderTransformOrigin="0.5,0.5">
-                                    <Rectangle.Projection>
-                                        <PlaneProjection RotationX="-67" />
-                                    </Rectangle.Projection>
+                            <Button x:Name="button2" Grid.Column="1" MinWidth="0" Visibility="Collapsed"  Content="c"  FontFamily="Assets/Font/iconfont.ttf#iconfont"/>
+                        </Grid>
+                        <Grid x:Name="grid2" Grid.Row="1" Visibility="Visible" >
+                            <Grid.RowDefinitions>
+                                <RowDefinition Height="*"/>
+                                <RowDefinition Height="Auto"/>
+                                <RowDefinition Height="Auto"/>
+                            </Grid.RowDefinitions>
+                            <Grid ManipulationMode="TranslateX" ManipulationDelta="mediaFragManipDelta" ManipulationCompleted="mediaFragManipCompleted">
+                                <TextBlock x:Name="musicArt" Text="y" FontSize="150" VerticalAlignment="Center" HorizontalAlignment="Center" FontFamily="Assets/Font/iconfont.ttf#iconfont" />
+                                <Rectangle>
+                                    <Rectangle.Fill>
+                                        <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0" Opacity="0.7">
+                                            <GradientStop Color="Black" Offset="0"/>
+                                            <GradientStop Color="Black" Offset="1"/>
+                                            <GradientStop Offset="0.5"/>
+                                            <GradientStop Offset="0.05" Color="{ThemeResource ContentDialogDimmingColor}"/>
+                                            <GradientStop Offset="0.95" Color="{ThemeResource ContentDialogDimmingColor}"/>
+                                        </LinearGradientBrush>
+                                    </Rectangle.Fill>
                                 </Rectangle>
+                                <!--<ListView x:Name="MusicView"
+                                        ItemTemplate="{StaticResource RecentPlayTemplate}">
+                                    <ListView.Background>
+
+                                        <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0" Opacity="0.75">
+                                            <GradientStop Color="Black" Offset="0"/>
+                                            <GradientStop Color="Black" Offset="1"/>
+                                            <GradientStop Offset="0.05" Color="{ThemeResource ContentDialogDimmingColor}"/>
+                                            <GradientStop Offset="0.95" Color="{ThemeResource ContentDialogDimmingColor}"/>
+                                        </LinearGradientBrush>
+                                    </ListView.Background>
 
-                                <Rectangle x:Name="dl" HorizontalAlignment="Left" Height="43" Margin="25,54,0,0" VerticalAlignment="Top" Width="54"/>
-                                <Ellipse x:Name="pl" HorizontalAlignment="Left" Height="78" Margin="206,35,0,0" VerticalAlignment="Top" Width="90"/>
-                                <Image HorizontalAlignment="Right" Height="112" Margin="0,12,127,18" VerticalAlignment="Center" Tap="Music_Tap" Width="82" Source="/Resources/Assets/Images/MusicBar.png"/>
-                                <Image Tap="downloads_Tap" HorizontalAlignment="Left" Height="91" VerticalAlignment="Center" Width="84" Source="/Resources/Assets/Images/download.png" Margin="10,22,0,29" OpacityMask="{StaticResource PhoneBackgroundBrush}" Opacity="0.9"/>
-                                <Image HorizontalAlignment="Right" Height="120" Margin="0,12,14,10" VerticalAlignment="Center" Tap="VideoLister" Width="90" Source="/Resources/Assets/Images/video.png"/>
+                                </ListView>-->
+                            </Grid>
+                            <Grid VerticalAlignment="Bottom">
+                                <Grid.ColumnDefinitions>
+                                    <ColumnDefinition Width="Auto"/>
+                                    <ColumnDefinition Width="*"/>
+                                    <ColumnDefinition Width="Auto"/>
+                                </Grid.ColumnDefinitions>
+                                <ToggleButton MinWidth="50" Content="X" FontFamily="Assets/Font/iconfont.ttf#iconfont" Style="{StaticResource ToggleButtonStyle}" VerticalAlignment="Bottom" Margin="10,0,0,25"/>
+                                <Border Grid.Column="1" x:Name="border" VerticalAlignment="Center" RenderTransformOrigin="0.5,1">
+                                    <Border.RenderTransform>
+                                        <CompositeTransform ScaleY="0"/>
+                                    </Border.RenderTransform>
+                                    <Border.Background>
+                                        <SolidColorBrush Color="{ThemeResource ContentDialogDimmingColor}" Opacity="0.98"/>
+                                    </Border.Background>
+                                    <TextBlock  x:Name="sliderTimer" Margin="30" Text="{Binding Text, ElementName=currentDuration}" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="30">
+                                        <TextBlock.Foreground>
+                                            <SolidColorBrush Color="{ThemeResource PhoneForegroundColor}"/>
+                                        </TextBlock.Foreground>
+                                    </TextBlock>
+                                </Border>
+                                <ToggleButton Content="Y" MinWidth="50" Grid.Column="2" FontFamily="Assets/Font/iconfont.ttf#iconfont" Style="{StaticResource ToggleButtonStyle}" Margin="0,0,10,25" HorizontalAlignment="Right" VerticalAlignment="Bottom"/>
                             </Grid>
-                        </ListBox>
-                        <Rectangle Fill="{StaticResource PhoneChromeBrush}" Stroke="{StaticResource PhoneChromeBrush}" toolkit:TiltEffect.SuppressTilt="True" Margin="-7,0,0,677" RadiusY="8" RadiusX="8"/>
-                        <TextBox x:Name="searchBox"  HorizontalAlignment="Left" Height="76" Margin="10,7,0,0" TextWrapping="NoWrap" VerticalAlignment="Top" Width="221" Style="{StaticResource CurvedTextBox}"/>
-                        <Button x:Name="SearchModule" Click="SearchModule_Click"  toolkit:TiltEffect.IsTiltEnabled="True" HorizontalAlignment="Left" Height="76" Margin="231,7,0,0" VerticalAlignment="Top" Width="69" ClickMode="Press" Style="{StaticResource SearchButton}">
-                            <Button.OpacityMask>
-                                <ImageBrush Stretch="Uniform" ImageSource="/Resources/Assets/Images/Search.png"/>
-                            </Button.OpacityMask>
 
-                        </Button>
+                            <Grid Grid.Row="1" VerticalAlignment="Center">
+                                <StackPanel>
+                                    <Grid ManipulationMode="TranslateX" ManipulationStarted="musicSlider_ManipulationStarted" ManipulationDelta="musicSlider_ManipulationDelta" ManipulationCompleted="musicSlider_ManipulationCompleted">
+                                        <Grid.Background>
+                                            <SolidColorBrush Color="{ThemeResource ContentDialogDimmingColor}"/>
+                                        </Grid.Background>
+                                        <Grid.RowDefinitions>
+                                            <RowDefinition Height="Auto"/>
+                                            <RowDefinition Height="Auto"/>
+                                        </Grid.RowDefinitions>
+                                        <ProgressBar Value="0" Margin="10" x:Name="musicSlider" BorderBrush="{x:Null}" VerticalAlignment="Top" Height="5"/>
 
-                    </Grid>
-                </Border>
-                <Border Width="370" CacheMode="BitmapCache" Grid.Column="2" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Height="768" Canvas.Left="800">
-                    <Border.Background>
-                        <ImageBrush ImageSource="/Resources/Assets/Wallpaper/bg1.jpg"/>
-                    </Border.Background>
-                    <Grid x:Name="music_bg">
-                    	<Grid.Background>
-                    		<SolidColorBrush Color="{StaticResource PhoneSemitransparentColor}"/>
-                    	</Grid.Background>
-                        <Rectangle HorizontalAlignment="Left" Height="335" Margin="20,14,0,0" VerticalAlignment="Top" Width="327" RadiusY="22" RadiusX="22" Fill="{StaticResource PhoneDisabledBrush}" Stroke="{StaticResource PhoneChromeBrush}"/>
-                        <Rectangle x:Name="coverArt" HorizontalAlignment="Left" Height="316" Margin="30,24,0,0" VerticalAlignment="Top" Width="306" RadiusY="22" RadiusX="22">
-                            <Rectangle.Fill>
-                                <ImageBrush ImageSource="/Resources/Assets/Images/headphone.png" Stretch="None"/>
-                            </Rectangle.Fill>
-                        </Rectangle>
-                        <Button x:Name="music_reverse" Content="" HorizontalAlignment="Left" Height="97" Margin="30,358,0,0" VerticalAlignment="Top" Width="102" Style="{StaticResource Previous}"/>
-                        <Button x:Name="music_forward" Content="" HorizontalAlignment="Left" Height="97" Margin="234,358,0,0" VerticalAlignment="Top" Width="102" Style="{StaticResource Forward}"/>
-                        <Slider x:Name="music_slider" HorizontalAlignment="Left" Height="82" Margin="30,276,0,0" VerticalAlignment="Top" Width="306" Style="{StaticResource SliderStyle}"/>
-                        <toolkit:LongListMultiSelector 
-							x:Name="musicLists" 
-							Margin="0,482,0,0"
-							ItemTemplate="{StaticResource File360MusicTemplate}"
-							IsGroupingEnabled="False"/>
-                        <Button HorizontalAlignment="Left" Height="97" Margin="132,358,0,0" VerticalAlignment="Top" Width="102" Style="{StaticResource ButtonPlay}"/>
+                                        <TextBlock x:Name="currentDuration"  Grid.Row="1" Text="--:--" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="10,5,0,5"/>
+                                        <TextBlock x:Name="mediaDuration" Text="--:--" Grid.Row="1" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="0,5,10,5"/>
+                                    </Grid>
+                                    <Grid>
+                                        <Grid.Background>
+                                            <SolidColorBrush Color="{ThemeResource ContentDialogDimmingColor}"/>
+                                        </Grid.Background>
+                                        <Grid>
+                                            <Grid.ColumnDefinitions>
+                                                <ColumnDefinition Width="*"/>
+                                                <ColumnDefinition Width="*"/>
+                                                <ColumnDefinition Width="*"/>
+                                            </Grid.ColumnDefinitions>
+                                            <Button  Content="6"  FontFamily="Assets/Font/iconfont.ttf#iconfont" FontSize="20" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"/>
+                                            <Button x:Name="playPause" Grid.Column="1" Content="5" FontFamily="Assets/Font/iconfont.ttf#iconfont"  Click="PlayCurrent" FontSize="20" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"/>
+                                            <Button Content="4" Grid.Column="2"  FontFamily="Assets/Font/iconfont.ttf#iconfont" FontSize="20" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"/>
+                                        </Grid>
+                                    </Grid>
+                                </StackPanel>
+                            </Grid>
                         </Grid>
-                </Border>
-                <Grid x:Name="grdCommands" CacheMode="BitmapCache" Grid.Column="1" Height="{Binding ActualHeight, ElementName=canvas}" Width="485" Canvas.Left="315" >
-                    <toolkit:LongListMultiSelector 
-						x:Name="sdlists"
-						ItemTemplate="{StaticResource File360ItemTemplate}"
-						IsGroupingEnabled="False"
-						GridCellSize="107,90" LayoutMode="Grid" Margin="15,194,10,0"/>
-                    <TextBlock HorizontalAlignment="Left" DoubleTap="vault_button_DoubleTap" TextWrapping="Wrap" VerticalAlignment="Top" Height="26" Width="139" Margin="68,17,0,0" Foreground="{StaticResource PhoneForegroundBrush}" FontSize="24">
-						<Run Foreground="{StaticResource PhoneForegroundBrush}" Text="FILE360"/>
-						<Run FontWeight="Bold" Foreground="{StaticResource PhoneAccentBrush}" Text="°"/>
+                    </Grid>
+                </Grid>
+            </Grid>
+        </Grid>
+        <local:DialogBox Visibility="Collapsed" IsOpen="False" HeadingText="ARE YOU SURE?" ContentText="...are you sure you want to exit?" x:Name="DialogBox"/>
+        <ScrollViewer VerticalAlignment="Bottom" Visibility="Visible" Height="20">
+            <Grid VerticalAlignment="Top">
+                <Grid.Background>
+                    <SolidColorBrush Color="Black"/>
+                </Grid.Background>
+                <TextBlock TextWrapping="Wrap" x:Name="statusMsg" FontSize="18" Text="Status Message" Foreground="White"/>
+            </Grid>
+        </ScrollViewer>
+        <Border x:Name="aiBorder" CornerRadius="8" Visibility="Collapsed" HorizontalAlignment="Center" VerticalAlignment="Top" Margin="0,10,0,10" BorderThickness="2">
+            <Border.BorderBrush>
+                <SolidColorBrush Color="{ThemeResource ContentDialogDimmingColor}"/>
+            </Border.BorderBrush>
+            <Border.Background>
+                <SolidColorBrush Color="{ThemeResource PhoneForegroundColor}"/>
+            </Border.Background>
+            <StackPanel Margin="1">
+                <TextBlock x:Name="aiText" TextWrapping="Wrap" Text="Rename Operation failed" FontSize="15" Margin="10,5" FontFamily="Segoe WP Light" FontWeight="Bold">
+                    <TextBlock.Foreground>
+                        <SolidColorBrush Color="{ThemeResource PhoneBackgroundColor}"/>
+                    </TextBlock.Foreground>
+                </TextBlock>
+                <TextBlock x:Name="aiSubText" TextWrapping="Wrap" Text="A file or folder can't contain any of the following characters" FontSize="15" Margin="10,5" FontFamily="Segoe WP Light">
+                    <TextBlock.Foreground>
+                        <SolidColorBrush Color="{ThemeResource PhoneBackgroundColor}"/>
+                    </TextBlock.Foreground>
+                </TextBlock>
+            </StackPanel>
+        </Border>
+
+        <Grid x:Name="PictureDisplayer" Visibility="Collapsed">
+            <Grid >
+                <Grid.Background>
+                    <SolidColorBrush Color="{ThemeResource PhoneBackgroundColor}"/>
+                </Grid.Background>
+                <Grid.RowDefinitions>
+                    <RowDefinition Height="*"/>
+                    <RowDefinition Height="Auto"/>
+                </Grid.RowDefinitions>
+                <FlipView x:Name="PictureFlipView" Grid.RowSpan="2"/>
+
+                <StackPanel Grid.Row="1" >
+                    <StackPanel.Background>
+                        <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
+                            <GradientStop Color="#19000000"/>
+                            <GradientStop Color="#F2000000" Offset="1"/>
+                        </LinearGradientBrush>
+                    </StackPanel.Background>
+                    <TextBlock x:Name="picName" Margin="10,2" Text="pic(1).jpg" Style="{StaticResource  GroupHeaderTextBlockStyle}" Foreground="White"/>
+                    <TextBlock x:Name="picDate" Margin="10,2" Text="05/02/2015" Style="{StaticResource ComboBoxPlaceholderTextBlockStyle}" Foreground="White"/>
+                </StackPanel>
+            </Grid>
+        </Grid>
+        <Grid x:Name="ProgressDialog" Visibility="Collapsed">
+            <Grid.Background>
+                <SolidColorBrush Color="#99000000"/>
+            </Grid.Background>
+
+            <Grid x:Name="SubFrameGrid" Visibility="Collapsed">
+                <Grid.Background>
+                    <SolidColorBrush Color="#99000000"/>
+                </Grid.Background>
+                <Grid.RowDefinitions>
+                    <RowDefinition Height="Auto"/>
+                    <RowDefinition Height="*"/>
+                </Grid.RowDefinitions>
+                <TextBlock x:Name="SubFrameHeader" Text="" FontSize="21.333" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="15,0,0,0"/>
+                <Button  Content="X" HorizontalAlignment="Right" Click="HelpPageClose" MinWidth="0" Margin="0,0,15,0"/>
+                <Frame Margin="15" Grid.Row="1" x:Name="SubFrame" Background="{x:Null}"/>
+            </Grid>
+
+
+            <Border x:Name="FileMoveDialog" CornerRadius="20" Margin="20,100" VerticalAlignment="Center" Visibility="Collapsed">
+                <Border.Background>
+                    <SolidColorBrush Color="{ThemeResource PhoneChromeColor}"/>
+                </Border.Background>
+                <Grid>
+                    <Grid.RowDefinitions>
+                        <RowDefinition Height="Auto"/>
+                        <RowDefinition Height="Auto"/>
+                        <RowDefinition Height="*"/>
+                        <RowDefinition Height="Auto"/>
+                        <RowDefinition Height="Auto"/>
+                    </Grid.RowDefinitions>
+                    <Grid>
+                        <TextBlock Margin="10" TextWrapping="Wrap" Text="Paste" Style="{StaticResource SubheaderTextBlockStyle}"/>
+                        <Button Content="x"  HorizontalAlignment="Right" FontFamily="Assets/Font/iconfont.ttf#iconfont" Click="CloseDialog"/>
+                    </Grid>
+                    <TextBlock Grid.Row="1" Margin="10" TextWrapping="Wrap" Text="swipe horizontally to switch modes : copy / move" FontSize="20"/>
+                    <Grid Grid.Row="2">
+                        <FlipView x:Name="PasteFlipView">
+                            <FlipViewItem>
+
+                                <StackPanel Margin="10" HorizontalAlignment="Center" VerticalAlignment="Center">
+                                    <TextBlock Text="O" TextAlignment="Center" FontFamily="Assets/Font/iconfont.ttf#iconfont" FontSize="40"/>
+                                    <TextBlock Text="copy" TextAlignment="Center"/>
+                                </StackPanel>
+                            </FlipViewItem>
+                            <FlipViewItem>
+
+                                <StackPanel Margin="10" HorizontalAlignment="Center" VerticalAlignment="Center">
+                                    <TextBlock Text="R" TextAlignment="Center" FontFamily="Assets/Font/iconfont.ttf#iconfont" FontSize="40"/>
+                                    <TextBlock Text="move" TextAlignment="Center"/>
+                                </StackPanel>
+                            </FlipViewItem>
+                        </FlipView>
+                    </Grid>
+                    <TextBlock Grid.Row="3" Margin="10" TextWrapping="Wrap" Text="select file actions" FontSize="20"/>
+                    <Grid Grid.Row="4" Margin="0,10,0,0">
+                        <Grid.ColumnDefinitions>
+                            <ColumnDefinition Width="*"/>
+                            <ColumnDefinition Width="*"/>
+                        </Grid.ColumnDefinitions>
+                        <Button HorizontalAlignment="Stretch" VerticalAlignment="Stretch"  Background="{ThemeResource PhoneAccentBrush}" Click="OverwriteContents">
+                            <StackPanel>
+                                <TextBlock Text="Overwrite" TextAlignment="Center"/>
+                                <TextBlock TextWrapping="Wrap" Text="replaces existing contents" FontSize="10.667" TextAlignment="Center"/>
+                            </StackPanel>
+                        </Button>
+                        <Button Grid.Column="1" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"  Background="{ThemeResource PhoneAccentBrush}" Click="KeepBothFiles">
+                            <StackPanel>
+                                <TextBlock Text="Keep Both" TextAlignment="Center"/>
+                                <TextBlock TextWrapping="Wrap" Text="gives unique file name" FontSize="10.667" TextAlignment="Center"/>
+                            </StackPanel>
+                        </Button>
+                    </Grid>
+                </Grid>
+            </Border>
+
+
+            <Grid Margin="15" x:Name="ProgInfoView" HorizontalAlignment="Stretch" Visibility="Collapsed">
+                <Grid.RowDefinitions>
+                    <RowDefinition Height="*"/>
+                    <RowDefinition Height="Auto"/>
+                    <RowDefinition Height="*"/>
+                </Grid.RowDefinitions>
+                <TextBlock Margin="25" TextWrapping="Wrap" Text="Please do not close this app during this operation." TextAlignment="Center" HorizontalAlignment="Center" VerticalAlignment="Center"/>
+                <TextBlock Margin="25" TextWrapping="Wrap" Text="This dialog will close automatically upon completion." TextAlignment="Center" HorizontalAlignment="Center" VerticalAlignment="Center" Grid.Row="2"/>
+                <StackPanel Grid.Row="1" VerticalAlignment="Center">
+                    <StackPanel.Background>
+                        <SolidColorBrush Color="{ThemeResource PhoneChromeColor}"/>
+                    </StackPanel.Background>
+                    <TextBlock Margin="15,5" HorizontalAlignment="Center" TextWrapping="Wrap">
+                    		<Run x:Name="cmstatus" Text="copying "/>
+                    		<Run x:Name="progFileSource" FontWeight="Bold" Text="Vedhalam"/>
+                    		<Run Text=" to "/>
+                    		<Run x:Name="progFileDest" Text="D:" FontWeight="Bold"/>
+                    		<Run/>
                     </TextBlock>
-                    <TextBlock x:Name="nosd" Visibility="Collapsed" Style="{StaticResource PhoneTextLargeStyle}" Margin="10,173,0,0" TextWrapping="Wrap" Height="104" Width="460" TextAlignment="Center" Foreground="{StaticResource PhoneForegroundBrush}">
-						<Span Foreground="{StaticResource PhoneForegroundBrush}" FontSize="32">
-							<Run Text="no "/>
-						</Span>
-						<Span Foreground="{StaticResource PhoneAccentBrush}" FontSize="32" >
-							<Run Text="sdcard " FontWeight="Bold"/>
-						</Span>
-						<Span Foreground="{StaticResource PhoneForegroundBrush}" FontSize="32">
-							<Run Text="found, please insert one to view files. "/>
-						</Span>
+                    <ProgressBar x:Name="progBar" Margin="15,10" IsIndeterminate="True" VerticalAlignment="Stretch" Height="18"/>
+                    <TextBlock Margin="0,5" x:Name="progText" HorizontalAlignment="Center">
+                        	<Run x:Name="progCurrentSize" FontWeight="Bold" Text="25.3 "/>
+                        	<Run Text="/ "/>
+                        	<Run x:Name="progTotalSize" FontWeight="Bold" Text="45.2 "/>
+                        	<Run Text="mb"/>
                     </TextBlock>
-                    <TextBlock x:Name="sd" Text="sdcard" Style="{StaticResource PhoneTextLargeStyle}"  Margin="24,49,17,0" TextWrapping="Wrap" VerticalAlignment="Top" Height="49" Width="439" FontSize="40" Foreground="{StaticResource PhoneForegroundBrush}" />
-                    <Rectangle HorizontalAlignment="Left" Height="40" Margin="74,124,0,0" VerticalAlignment="Top" Width="401" Fill="{StaticResource PhoneChromeBrush}"/>
-                    <TextBlock x:Name="textBlock" TextWrapping="NoWrap" Height="40" FontFamily="Segoe WP Semibold" FontSize="24" Canvas.Left="500" Canvas.Top="120" Margin="94,124,10,0" VerticalAlignment="Top" Foreground="{StaticResource PhoneForegroundBrush}"/>
-                    <Ellipse HorizontalAlignment="Left" Height="70" Margin="15,109,0,0" VerticalAlignment="Top" Width="74" Fill="{StaticResource PhoneChromeBrush}"/>
-                    <Button x:Name="homeButton" toolkit:TiltEffect.IsTiltEnabled="True" Tap="sdcard_menu_Tap" Content="" HorizontalAlignment="Left" Margin="14,109,0,0" VerticalAlignment="Top" Width="74" BorderBrush="{x:Null}" Foreground="{x:Null}" Height="70" Style="{StaticResource MainBarButton}">
-                        <Button.Background>
-                            <ImageBrush Stretch="Uniform" ImageSource="greyhome.png"/>
-                        </Button.Background>
-                        <Button.OpacityMask>
-                            <ImageBrush Stretch="Uniform" ImageSource="/Resources/Assets/Images/home.png"/>
-                        </Button.OpacityMask>
-                    </Button>
-                    <Rectangle Visibility="Collapsed" x:Name="Blurer" HorizontalAlignment="Left" Height="784" VerticalAlignment="Top" Width="490" Margin="-10,0,0,-88" Fill="{StaticResource PhoneSemitransparentBrush}"/>
-                    <Button toolkit:TiltEffect.IsTiltEnabled="True" Click="OpenClose_Left" Margin="10,11,412,639" BorderBrush="{x:Null}" Foreground="{x:Null}" Style="{StaticResource SideMenuInitiater}">
-                        <Button.Background>
-                            <ImageBrush ImageSource="/Resources/Assets/Images/Hamburger.png" Stretch="Uniform"/>
-                        </Button.Background>
-                    </Button>
-                    <toolkit:Rating x:Name="rating" HorizontalAlignment="Left" Height="34" Margin="685,27,-330,0" VerticalAlignment="Top" Width="130" Background="{x:Null}"/>
-                    <Button Click="OpenClose_Right" HorizontalAlignment="Left" Height="57" Margin="416,0,0,0" VerticalAlignment="Top" Width="59"/>
-                </Grid>
-            </Canvas>
-        </Canvas>
-    </Grid>
+                    <Button Style="{StaticResource DialogBoxButton}" HorizontalAlignment="Stretch"  Content="Cancel" FontFamily="Assets/Font/Custom/HelveticaNeue-Thin.otf#Helvetica Neue" Background="{ThemeResource PhoneAccentBrush}"/>
+                </StackPanel>
+            </Grid>
+        </Grid>
 
-</phone:PhoneApplicationPage>-
\ No newline at end of file
+        <Grid.ChildrenTransitions>
+            <TransitionCollection>
+                <EntranceThemeTransition FromVerticalOffset="400" FromHorizontalOffset="0"/>
+            </TransitionCollection>
+        </Grid.ChildrenTransitions>
+    </Grid>
+</Page>
diff --git a/File360/MainPage.xaml.cs b/File360/MainPage.xaml.cs
@@ -1,644 +1,2604 @@
-using System;
+// Copyright (c) Microsoft. All rights reserved.
+
+using Windows.UI.Xaml;
+using Windows.UI.Xaml.Controls;
+using Windows.UI.Xaml.Controls.Primitives;
+using Windows.UI.Xaml.Input;
+using Windows.UI.Xaml.Media;
+using Windows.UI.Xaml.Navigation;
+using System;
 using System.Collections.Generic;
-using System.Linq;
-using System.Net;
-using System.Windows;
-using System.Windows.Controls;
-using System.Windows.Navigation;
-using Microsoft.Phone.Controls;
-using Microsoft.Phone.Shell;
-using File360.Resources;
+using Windows.Phone.UI.Input;
+using Windows.UI.Xaml.Media.Animation;
+using System.Collections.ObjectModel;
+using Windows.UI.ViewManagement;
+using Windows.Storage;
+using Windows.Media.Playback;
 using System.Threading.Tasks;
-using Microsoft.Phone.Storage;
+using TagLib;
 using System.IO;
-using System.Collections;
-using System.Windows.Media;
-using Windows.Phone.Storage.SharedAccess;
-using System.Data.Linq;
-using Windows.Storage;
-using System.Text;
-using Windows.ApplicationModel;
+using Windows.UI.Xaml.Media.Imaging;
+using System.IO.Compression;
+using System.Runtime.InteropServices.WindowsRuntime;
+using Windows.ApplicationModel.DataTransfer;
+using Windows.Foundation;
+using System.Linq;
+using Windows.Storage.FileProperties;
+using Coding4Fun.Toolkit.Controls;
+using Windows.ApplicationModel.Activation;
+using Windows.Storage.Streams;
+using Windows.Storage.Pickers;
+using Windows.Storage.AccessCache;
 using Windows.Phone.Devices.Notification;
-using Windows.Phone.UI.Input;
-using System.ComponentModel;
-using System.Resources;
-using System.Windows.Input;
-using System.IO.IsolatedStorage;
-using System.Windows.Media.Imaging;
-using System.Windows.Documents;
-using System.Windows.Media.Animation;
-using Microsoft.Xna.Framework.Media;
-using Microsoft.Xna.Framework;
-
-
+using System.Runtime.InteropServices;
+using Windows.Media;
+using System.Text;
 
 namespace File360
 {
-    public partial class MainPage : PhoneApplicationPage
+    public sealed partial class MainPage : Page, IFolderPickerContinuable
     {
-        List<sdlist> l = new List<sdlist>();
-        List<musiclist> ml = new List<musiclist>();
-        const string SETTINGS_PAGE_URI = "/SettingsPage.xaml";
-        const string VAULT_PAGE_URI = "/VaultPage.xaml";
-        public string btns;
-        public static string Hbtns;
-        ExternalStorageFolder temp;
-        TextBox pb;
-        IsolatedStorageSettings appSettings = IsolatedStorageSettings.ApplicationSettings;
-        internal static BitmapImage bm = new BitmapImage(new Uri("pack://application:/Resources/Assets/Wallpaper/bg1.jpg", UriKind.Absolute));
+
+
+
+        //[DllImport("KernelBase.dll")]
+        //public static extern void KernelDll();
+        #region Variables
+
+        public bool GridType = true;
+        public ItemsControl musicItemsControlGrid = null;
+
+        #region SettingsVaribles
+        ApplicationDataContainer settings = ApplicationData.Current.LocalSettings;
+        StorageFolder folder;
+        BitmapImage niy = new BitmapImage(new Uri("ms-appx:///Assets/IMG-20150528-WA0003.jpg", UriKind.Absolute));
+        ImageSource musicCoverArt = null;
+        IReadOnlyList<IStorageItem> Items;
+
+        ObservableCollection<sdlist> sd = new ObservableCollection<sdlist>();
+        ObservableCollection<MusicList> music = new ObservableCollection<MusicList>();
+        ObservableCollection<PictureList> picture = new ObservableCollection<PictureList>();
+        ObservableCollection<VideoList> video = new ObservableCollection<VideoList>();
+
+        public IStorageFolder CurrentFolder = null;
+        ScrollViewer gridScrollViewer;
+        TextBlock txtBlockRe = null;
+        ItemsControl itemsControlGrid = null;
+        List<IStorageItem> SelectedItems = new List<IStorageItem>();
+        bool InZipRoot = false;
+
+        #region LibraryVariables
+        public bool IsVideoLibraryOpen = false;
+        public bool IsPictureLibraryOpen = false;
+        public bool IsMusicLibraryOpen = false;
+        #endregion
+
+        bool singleTap = true;
+
+        App app = (App)Application.Current;
+        bool IsSDLoading = true;
+        bool IsPhoneLoading = true;
+        private bool IsMediaOpen = false;
+        private DispatcherTimer musicDispatcher = new DispatcherTimer();
+
+        #region FileOperationVariables
+        bool IS_FILE_MOVE = false;
+        #endregion
+
+        #region MusicVariables
+        SystemMediaTransportControls systemControls;
+        string title = String.Empty;
+        string artist = String.Empty;
+        #endregion
+
+
+        #endregion
+
         public MainPage()
         {
-            InitializeComponent();
-            VisualStateManager.GoToState(this, "Normal", false);
-            #region InitialKeyUpdater
-            if (appSettings.Count == 0)
+
+            this.InitializeComponent();
+            SDGridView.ItemsSource = sd;
+            SideMenu.InitializeDrawerLayout();
+            Addresser.InitializeComponent();
+            #region MusicPlayerInitialization
+
+
+            // Hook up app to system transport controls.
+
+            systemControls = SystemMediaTransportControls.GetForCurrentView();
+
+            systemControls.ButtonPressed += async (sender, args) =>
+            {
+                switch (args.Button)
+
+                {
+
+                    case SystemMediaTransportControlsButton.Play:
+
+                        await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
+
+                        {
+                            mediaPlayer.Play();
+
+                        });
+
+                        break;
+
+                    case SystemMediaTransportControlsButton.Pause:
+                        await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
+
+   {
+
+      mediaPlayer.Pause();
+
+   });
+
+                        break;
+
+                    default:
+
+                        break;
+
+                }
+            };
+
+            // Register to handle the following system transpot control buttons.
+
+            systemControls.IsPlayEnabled = true;
+
+            systemControls.IsPauseEnabled = true;
+            #endregion
+            musicCoverArt = niy;
+            #region SettingsSerializer
+            if (settings.Values.Count == 0)
+            {
+                settings.Values["userName"] = "User";
+                app.UserName = (string)settings.Values["userName"];
+                settings.Values["itemType"] = 1;
+                GridType = (int)settings.Values["itemType"] == 1;
+
+                settings.Values["musicPlayer"] = "1";
+                settings.Values["picturesPlayer"] = "1";
+                settings.Values["videoPlayer"] = "1";
+                settings.Values["ebookViewer"] = "1";
+                settings.Values["musThumbnail"] = "0";
+                settings.Values["vidThumbnail"] = "0";
+                settings.Values["picThumbnail"] = "0";
+            }
+            else
+            {
+                app.UserName = (string)settings.Values["userName"];
+                GridType = (int)settings.Values["itemType"] == 1;
+            }
+            ChangeTemplate();
+            #endregion
+            #region Orientation
+            Window.Current.SizeChanged += Current_SizeChanged;
+            #endregion
+            #region MediaPlayerDispatcherInitialization
+            musicDispatcher.Interval = TimeSpan.FromMilliseconds(1000);
+
+            mediaPlayer.MediaFailed += async (s, t) =>
+            {
+                await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, delegate
+                {
+                    UpdateMusic("no media", "", TimeSpan.FromSeconds(0));
+                    musicSlider.Value = 0;
+                    playPause.Content = "5";
+                    currentDuration.Text = "--:--";
+                    mediaDuration.Text = "--:--";
+                    if (musicDispatcher.IsEnabled)
+                        musicDispatcher.Stop();
+                });
+            };
+
+            mediaPlayer.MediaEnded += async (s, t) =>
+            {
+                await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, delegate
+                {
+                    UpdateMusic("no media", "", mediaPlayer.NaturalDuration.TimeSpan);
+                    musicSlider.Value = 0;
+                    playPause.Content = "5";
+                    currentDuration.Text = "--:--";
+                    mediaDuration.Text = "--:--";
+                    musicDispatcher.Stop();
+                });
+            };
+            musicDispatcher.Tick += (s, t) =>
+            {
+                musicSlider.Value = mediaPlayer.Position.TotalSeconds;
+                currentDuration.Text = mediaPlayer.Position.Minutes + ":" + mediaPlayer.Position.Seconds;
+
+            };
+            #endregion
+            #region CriticalStartup
+            HideStatusBar();
+            Loaded += MainPageLoaded;
+            HardwareButtons.BackPressed += HardwareButtons_BackPressed;
+            #endregion
+        }
+
+
+        #region FileOperationsNotifier
+
+        private void PasteBarSelectionChanged(object sender, SelectionChangedEventArgs e)
+        {
+            if (PasteFlipView.SelectedIndex == 0)
+                IS_FILE_MOVE = false;
+            else IS_FILE_MOVE = true;
+        }
+        #endregion
+
+        #region MainEvents
+        private void MainPageLoaded(object sender, RoutedEventArgs e)
+        {
+            SDLoad.Begin();
+            PhoneLoad.Begin();
+            GetSDRoot();
+            gridScrollViewer = SDGridView.GetFirstLogicalChildByType<ScrollViewer>(false);
+            gridScrollViewer.VerticalScrollMode = ScrollMode.Auto;
+            LoadMemoryData();
+            //SettingsTab.Height = Window.Current.Bounds.Width * 2 / 3;
+            PasteFlipView.SelectionChanged += PasteBarSelectionChanged;
+            AppearancePanel.Begin();
+            SubFrame.ContentTransitions = new TransitionCollection { new PaneThemeTransition { Edge = EdgeTransitionLocation.Bottom } };
+
+        }
+        private async void HideStatusBar()
+        {
+            StatusBar statusBar = Windows.UI.ViewManagement.StatusBar.GetForCurrentView();
+
+            // Hide the status bar
+            await statusBar.HideAsync();
+        }
+        public void OpenDialog()
+        {
+            if (!this.DialogBox.IsOpen)
+            {
+                this.DialogBox.IsOpen = true;
+                this.DialogBox.LeftButtonHandler += ExitApplicaton;
+            }
+        }
+        #region Navigaion Methods
+        protected override void OnNavigatedTo(NavigationEventArgs e)
+        {
+
+        }
+        #endregion
+
+        #region BackButtonHandler
+        public async void HardwareButtons_BackPressed(object sender, BackPressedEventArgs e)
+        {
+            e.Handled = true;
+            if (PictureDisplayer.Visibility == Visibility.Visible)
+            {
+                PictureFlipView.Items.Clear();
+                PictureDisplayer.Visibility = Visibility.Collapsed;
+            }
+            else if (FileMoveDialog.Visibility == Visibility.Visible)
+            {
+                CloseDialog(2);
+            }
+            else if (SubFrameGrid.Visibility == Visibility.Visible)
+            {
+                CloseDialog(0);
+            }
+            else if (IsMediaOpen)
+            {
+                MediaOpenRev.Begin();
+                IsMediaOpen = false;
+            }
+
+            else if (SortMenu.Visibility == Visibility.Visible)
+            {
+                SortMenu.Visibility = Visibility.Collapsed;
+            }
+            else if (WebBrowser.Visibility == Visibility.Visible)
+            {
+                WebBrowser.Visibility = Visibility.Collapsed;
+            }
+            else if (this.SideMenu.IsDrawerOpen == true)
+            {
+                this.SideMenu.CloseDrawer();
+            }
+            else if (SDGridView.SelectionMode == ListViewSelectionMode.Multiple)
+            {
+                UnselectAll();
+            }
+            else if (InZipRoot)
+            {
+                GetFilesAndFolder(CurrentFolder);
+                InZipRoot = false;
+            }
+            else if (!this.Addresser.Root)
+            {
+                try
+                {
+                    int curFoldCharNm = CurrentFolder.Path.LastIndexOf(CurrentFolder.Name);
+                    StorageFolder sf = await StorageFolder.GetFolderFromPathAsync(CurrentFolder.Path.Remove(curFoldCharNm));
+                    this.Addresser.RemoveLast();
+                    GetFilesAndFolder(sf);
+                }
+                catch { }
+            }
+            else
+            {
+                OpenDialog();
+            }
+        }
+        #endregion
+
+        #endregion
+        #region Music
+        #region MusicEvents
+        //private void MusicSegmentChanged(object sender, RangeBaseValueChangedEventArgs e)
+        //{
+        //    //    if (!(mediaPlayer.CurrentState == MediaPlayerState.Closed))
+        //    //    {
+        //    //        if (mediaPlayer.CanSeek)
+        //    //        {
+        //    //            mediaPlayer.Position = TimeSpan.FromSeconds(e.NewValue);
+        //    //        }
+        //    //    }
+        //    //    else
+        //    //    {
+        //    //        musicSlider.Value = 0;
+        //    //    }
+        //}
+        internal async void PlayMedia(IStorageFile selectedItem)
+        {
+
+            mediaPlayer.Source = new Uri(selectedItem.Path);
+
+            mediaPlayer.MediaOpened += async (s, t) =>
+            {
+                await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.High, delegate
+                {
+                    musicSlider.Maximum = mediaPlayer.NaturalDuration.TimeSpan.TotalSeconds;
+                    playPause.Content = "8";
+                    UpdateMusic(title, artist, mediaPlayer.NaturalDuration.TimeSpan);
+                    musicDispatcher.Start();
+                });
+            };
+            mediaPlayer.Play();
+
+            #region TagLib AlbumArt
+            Tag tags = null;
+            var fileStream = await selectedItem.OpenStreamForReadAsync();
+            try
+            {
+                var tagFile = TagLib.File.Create(new StreamFileAbstraction(selectedItem.Name, fileStream, fileStream));
+                if (selectedItem.FileType == ".mp3" || selectedItem.FileType == ".wma")
+                    tags = tagFile.GetTag(TagTypes.Id3v2);
+                else if (selectedItem.FileType == ".m4a")
+                    tags = tagFile.GetTag(TagLib.TagTypes.MovieId);
+                try
+                {
+                    title = tags.Title;
+                }
+                catch (NullReferenceException)
+                {
+                    title = selectedItem.Name;
+                }
+                try
+                {
+                    artist = String.Concat(tags.Performers);
+                }
+                catch (NullReferenceException)
+                {
+                    artist = String.Empty;
+                }
+                if (tags.Pictures != null)
+                {
+                    try
+                    {
+                        MemoryStream ms = new MemoryStream(tags.Pictures[0].Data.Data);
+                        WriteableBitmap wm = null;
+                         var wwmV = wm.FromStream(ms, Windows.Graphics.Imaging.BitmapPixelFormat.Unknown);
+                        await wwmV.ContinueWith(delegate
+                        {
+#pragma warning disable CS4014 // Because this call is not awaited, execution of the current method continues before the call is completed
+                            Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
+#pragma warning restore CS4014 // Because this call is not awaited, execution of the current method continues before the call is completed
+                            {
+                                ms.Dispose();
+                            ImageBrush im = new ImageBrush();
+                            im.ImageSource = wwmV.Result;
+                            im.Stretch = Stretch.UniformToFill;
+                                musicArt.Visibility = Visibility.Collapsed;
+                                imageContainerMedia.Background = im;
+                            });
+                        });
+                    }
+
+                    catch (IndexOutOfRangeException)
+                    {
+                        imageContainerMedia.Background = (SolidColorBrush)App.Current.Resources["PhoneChromeBrush"];
+                        musicArt.Visibility = Visibility.Visible;
+                    }
+                    catch (UnauthorizedAccessException)
+                    {
+                    }
+                    #endregion
+                }
+                else
+                {
+                    imageContainerMedia.Background = (SolidColorBrush)App.Current.Resources["PhoneChromeBrush"];
+                    musicArt.Visibility = Visibility.Visible;
+                }
+            }
+            catch
+            {
+                imageContainerMedia.Background = (SolidColorBrush)App.Current.Resources["PhoneChromeBrush"];
+                musicArt.Visibility = Visibility.Visible;
+            }
+            MusicStatusUpdate();
+        }
+
+        private void UpdateMusic(string songName, string songArtist, TimeSpan duration)
+        {
+            try
+            {
+                SongName.Text = songName;
+                SongArtist.Text = songArtist;
+                mediaDuration.Text = duration.Minutes + ":" + duration.Seconds;
+            }
+            catch
+            {
+                SongName.Text = "no media";
+                SongArtist.Text = "";
+                mediaDuration.Text = "--:--";
+            }
+        }
+        #endregion
+        #region MusicMenu
+        public void MusicMenuClick()
+        {
+            if (IsMediaOpen)
+            {
+                MediaOpenRev.Begin();
+                IsMediaOpen = false;
+                //OpenMusic.Content = "u";
+                return;
+            }
+            else if (!IsMediaOpen)
+            {
+                //BitmapImage bm = new BitmapImage(new Uri("ms-appx:///SampleData/SampleDataSource1/SampleDataSource1_Files/image01.png", UriKind.RelativeOrAbsolute));
+                //var wb = await WinRTXamlToolkit.Imaging.WriteableBitmapFromBitmapImageExtension.FromBitmapImage(bm);
+                //ColorSampler cs = new ColorSampler();
+                //WriteableBitmap wd = wb;
+                //MusicDock.Background = new SolidColorBrush(cs.GetPixel(wd));
+                MediaOpen.Begin();
+                IsMediaOpen = true;
+                //OpenMusic.Content = "d";
+                return;
+            }
+        }
+
+        private void PlayCurrent(object sender, RoutedEventArgs e)
+        {
+            if (mediaPlayer.CurrentState == MediaElementState.Playing)
+            {
+                mediaPlayer.Pause();
+                playPause.Content = "5";
+                DurationBlink.Begin();
+            }
+            else if (mediaPlayer.CurrentState == MediaElementState.Paused)
+            {
+                mediaPlayer.Play();
+                playPause.Content = "8";
+                DurationBlink.Stop();
+            }
+
+            else if (mediaPlayer.CurrentState == MediaElementState.Stopped)
+            {
+                KnownFolders.MusicLibrary.GetFilesAsync().Completed += (es,st)=>
+                {
+                    mediaPlayer.Source = new Uri(es.GetResults().First().Path);
+                    mediaPlayer.Play();
+                    playPause.Content = "8";
+                };
+
+            }
+
+        }
+        #endregion
+        #endregion
+
+        #region MediaMaipulations
+        private void mediaFragManipDelta(object sender, ManipulationDeltaRoutedEventArgs e)
+        {
+            if (e.Cumulative.Translation.X > 0)
+                MediaFragment.RenderTransform = new CompositeTransform { TranslateX = e.Cumulative.Translation.X };
+            else if (e.Delta.Translation.X < -25)
+            {
+                MediaOpen.Begin();
+                IsMediaOpen = true;
+            }
+        }
+
+        private void mediaFragManipCompleted(object sender, ManipulationCompletedRoutedEventArgs e)
+        {
+            var transform = (CompositeTransform)MediaFragment.RenderTransform;
+            if (transform == null) return;
+            var up = transform.TranslateX;
+
+            var snapLimit = ActualHeight / 1.1;
+
+            // Get init position of _listFragment
+            var initialPosition = ActualHeight;
+
+            // If current left coordinate is smaller than snap limit, close drawer
+            if (Math.Abs(initialPosition - up) < snapLimit)
+            {
+                MediaOpenRev.Begin();
+                IsMediaOpen = false;
+            }
+            else
+            {
+                MediaOpen.Begin();
+                IsMediaOpen = true;
+            }
+        }
+        #endregion
+
+        #region NotifyHelpers
+        public void NotifyUser(string info)
+        {
+            statusMsg.Text = info;
+        }
+
+        public void AI(string header, string msg)
+        {
+            aiText.Text = header;
+            aiSubText.Text = msg;
+            aiBorder.Visibility = Visibility.Visible;
+            DispatcherTimer dt = new DispatcherTimer();
+            dt.Interval = new TimeSpan(0, 0, 4);
+            dt.Tick += delegate
+            {
+                aiBorder.Visibility = Visibility.Collapsed;
+                dt.Stop();
+            };
+            dt.Start();
+        }
+        #endregion
+        #region Pictures
+
+
+        public void DisplayPhoto(IStorageFile selectedItem)
+        {
+            FlipViewItem fvi = new FlipViewItem();
+            ScrollViewer scv = new ScrollViewer();
+            Image im = new Image();
+            BitmapImage bi = new BitmapImage(new Uri(selectedItem.Path));
+            im.Source = bi;
+            scv.Content = im;
+            fvi.Content = scv;
+            PictureFlipView.Items.Add(fvi);
+            PictureDisplayer.Visibility = Visibility.Visible;
+        }
+
+        #endregion
+
+
+        #region MainGrid
+        public void CloseDrawer()
+        {
+            SideMenu.CloseDrawer();
+        }
+
+
+
+        private void ChangeTemplate()
+        {
+            if (!GridType)
+            {
+                SDGridView.ItemsPanel = (ItemsPanelTemplate)Resources["ListViewItemsPanel"];
+                SDGridView.ItemTemplate = (DataTemplate)Resources["ListFoldersView"];
+                gridList.ContentText = "list";
+                gridList.ImageText = "b";
+                settings.Values["itemType"] = 0;
+                GridType = false;
+            }
+            else
+            {
+                SDGridView.ItemsPanel = (ItemsPanelTemplate)Resources["GridViewItemsPanel"];
+                SDGridView.ItemTemplate = (DataTemplate)Resources["GridFoldersView"];
+                gridList.ContentText = "grid";
+                gridList.ImageText = "N";
+                settings.Values["itemType"] = 1;
+                GridType = true;
+            }
+        }
+
+        private async void GetSDRoot()
+        {
+
+            if (ApplicationData.Current.LocalSettings.Values.ContainsKey("FolderTokenSettingsKey"))
+            {
+                string token = (string)ApplicationData.Current.LocalSettings.Values["FolderTokenSettingsKey"];
+                // if we do, use it to get the StorageFolder instance
+                folder = await StorageApplicationPermissions.FutureAccessList.GetFolderAsync(token);
+                this.Addresser.Reset();
+                try
+                {
+                    GetFilesAndFolder(folder);
+                    RootFolder.Text = "3";
+                    IsMusicLibraryOpen = false;
+                    IsVideoLibraryOpen = false;
+                    IsPictureLibraryOpen = false;
+                }
+                catch (Exception ex)
+                {
+                    ShowStatus(ex.Message);
+                    //AI("no sdcard is detected", 2);
+                }
+            }
+        }
+
+
+        #region UserFolderCommunication
+
+
+        private void Reset()
+        {
+            SDGridView.ItemsSource = null;
+            sd.Clear();
+        }
+
+
+        #endregion
+        #region OrientationHelpers
+        private void Current_SizeChanged(object sender, Windows.UI.Core.WindowSizeChangedEventArgs e)
+        {
+            //var b = Window.Current.Bounds;
+            VisualStateManager.GoToState(this, "Portrait", false);
+        }
+        public bool IsVertical()
+        {
+            if (Window.Current.Bounds.Height > Window.Current.Bounds.Width) return true;
+            else return false;
+        }
+        #endregion
+        #endregion
+
+
+
+        #region ExitApplication
+
+        private void ExitApplicaton(object sender, RoutedEventArgs e)
+        {
+            Application.Current.Exit();
+        }
+        #endregion
+        #region FileLister
+        public async void GetFilesAndFolder(IStorageFolder anyFolder)
+        {
+            await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.High, async delegate
+            {
+                ShowStatus(anyFolder.Path);
+                if (anyFolder != null)
+                {
+                    Items = null;
+                    sd.Clear();
+                    SDGridView.ItemsSource = null;
+                    CurrentFolder = anyFolder;
+                    Items = await anyFolder.GetItemsAsync();
+                    if (Items.Count == 0)
+                    {
+                        CurrentFolder = anyFolder;
+                        headerText.Text = anyFolder.Name;
+                        sd.Clear();
+                        switch (anyFolder.Path)
+                        {
+                            case @"D:\Documents":
+                                //display documents missing sad face
+                                break;
+                            case @"D:\Music":
+                                //display music missing sad face
+                                break;
+                            case @"D:\Videos":
+                                //display videos missing sad face
+                                break;
+                            case @"D:\Pictures":
+                                //display pictures missing sad face
+                                break;
+                            default:
+                                EmptyFolderStack.Visibility = Visibility.Visible;
+                                //default options for other empty folders
+                                break;
+
+                        }
+                        return;
+                    }
+                    //if (GridType)
+                    //    SDGridView.ItemsPanel = (ItemsPanelTemplate)Resources["GridViewItemsPanel"];
+                    //else SDGridView.ItemsPanel = (ItemsPanelTemplate)Resources["ListViewItemsPanel"];
+                    else
+                    {
+                        EmptyFolderStack.Visibility = Visibility.Collapsed;
+                        foreach (IStorageItem Data in Items)
+                        {
+                            if (Data.IsOfType(StorageItemTypes.Folder))
+                            {
+                                IStorageFolder Folder;
+                                Folder = (IStorageFolder)Data;
+                                //IReadOnlyList<IStorageItem> item = await Folder.GetItemsAsync();
+                                headerText.Text = anyFolder.Name;
+                                if (CurrentFolder.Path == @"D:\")
+                                {
+                                    if (Folder.Name == "Videos") sd.Add(new sdlist(Folder.Name, "o", ""));
+                                    else if (Folder.Name == "Pictures") sd.Add(new sdlist(Folder.Name, "f", ""));
+                                    else if (Folder.Name == "Music") sd.Add(new sdlist(Folder.Name, "g", ""));
+                                    else if (Folder.Name == "Downloads") sd.Add(new sdlist(Folder.Name, "e", ""));
+                                    else if (Folder.Name == "Documents") sd.Add(new sdlist(Folder.Name, "n", ""));
+                                    else sd.Add(new sdlist(Folder.Name, "h", ""));
+                                }
+                                else sd.Add(new sdlist(Folder.Name, "h", ""));
+                            }
+                            if (Data.IsOfType(StorageItemTypes.File))
+                            {
+                                IStorageFile File = (IStorageFile)Data;
+                                string fn = File.Name;
+                                string fi = File.FileType;
+                                #region FileTypes
+                                if (fi == ".mp3")
+                                {
+                                    if (((string)settings.Values["musThumbnail"] == "1"))
+                                    {
+
+                                        #region Mp3
+
+                                        //var fileStream = await File.OpenStreamForReadAsync();
+                                        //var tagFile = TagLib.File.Create(new StreamFileAbstraction(File.Name, fileStream, fileStream));
+                                        //var tags = tagFile.GetTag(TagTypes.Id3v2);
+                                        //try
+                                        //{
+                                        //    if (tags.Pictures != null)
+                                        //    {
+                                        //        MemoryStream ms = new MemoryStream(tags.Pictures[0].Data.Data);
+                                        //        WriteableBitmap wm = null;
+                                        //        WriteableBitmap wwm = await wm.FromStream(ms, Windows.Graphics.Imaging.BitmapPixelFormat.Unknown);
+
+                                        //        ms.Dispose();
+                                        //        ImageBrush im = new ImageBrush();
+                                        //        im.ImageSource = wwm;
+                                        //        im.Stretch = Stretch.UniformToFill;
+                                        //        sd.Add(new sdlist(fn, im, ""));
+                                        //        #endregion
+                                        //    }
+                                        //}
+                                        //catch (IndexOutOfRangeException ex)
+                                        //{
+                                        //    BitmapImage bm = new BitmapImage(new Uri("ms-appx:///Assets/IMG-20150528-WA0003.jpg", UriKind.Absolute));
+                                        //    ImageBrush im = new ImageBrush();
+                                        //    im.ImageSource = bm;
+                                        //    sd.Add(new sdlist(fn, im, ""));
+                                        //}
+                                        //catch (Exception ex)
+                                        //{
+                                        //    AI(ex.Message, 2);
+                                        //}
+                                        #endregion
+                                    }
+                                    else sd.Add(new sdlist(fn, "m"));
+
+                                }
+                                else if (fi == ".wma")
+                                {
+                                    if (((string)settings.Values["musThumbnail"] == "1"))
+                                    { }
+                                    #region wma-work in progress
+
+                                    //var fileStream = await File.OpenStreamForReadAsync();
+                                    //var tagFile = TagLib.File.Create(new StreamFileAbstraction(File.Name, fileStream, fileStream));
+                                    //var tags = tagFile.GetTag(TagTypes.Id3v2);
+                                    //try
+                                    //{
+                                    //    if (tags.Pictures != null)
+                                    //    {
+                                    //        MemoryStream ms = new MemoryStream(tags.Pictures[0].Data.Data);
+                                    //        WriteableBitmap wm = null;
+                                    //        WriteableBitmap wwm = await wm.FromStream(ms, Windows.Graphics.Imaging.BitmapPixelFormat.Unknown);
+
+                                    //        ms.Dispose();
+                                    //        ImageBrush im = new ImageBrush();
+                                    //        im.ImageSource = wwm;
+                                    //        im.Stretch = Stretch.UniformToFill;
+                                    //        sd.Add(new sdlist(fn, im, ""));
+                                    //        #endregion
+                                    //    }
+                                    //}
+                                    //catch (IndexOutOfRangeException ex)
+                                    //{
+                                    //    BitmapImage bm = new BitmapImage(new Uri("ms-appx:///Assets/IMG-20150528-WA0003.jpg", UriKind.Absolute));
+                                    //    ImageBrush im = new ImageBrush();
+                                    //    im.ImageSource = bm;
+                                    //    sd.Add(new sdlist(fn, im, ""));
+                                    //}
+                                    //catch (Exception ex)
+                                    //{
+                                    //    AI(ex.Message, 2);
+                                    //}
+                                    #endregion
+                                    else sd.Add(new sdlist(fn, "m"));
+
+                                }
+                                else if (fi == ".docx")
+                                {
+                                    sd.Add(new sdlist(fn, "k"));
+
+                                }
+                                else if (fi == ".png")
+                                {
+                                    if (((string)settings.Values["picThumbnail"] == "1"))
+                                        await GetThumbnailImageAsync((StorageFile)File, ThumbnailMode.ListView);
+                                    else sd.Add(new sdlist(fn, "p"));
+                                }
+                                else if (fi == ".jpg")
+                                {
+                                    if (((string)settings.Values["picThumbnail"] == "1"))
+                                        await GetThumbnailImageAsync((StorageFile)File, ThumbnailMode.ListView);
+                                    else sd.Add(new sdlist(fn, "p"));
+                                }
+                                else if (fi == ".mp4")
+                                {
+                                    if (((string)settings.Values["vidThumbnail"] == "1"))
+                                    {
+                                        try
+                                        {
+                                            await GetThumbnailImageAsync((StorageFile)File, ThumbnailMode.ListView);
+                                        }
+                                        catch
+                                        {
+                                            sd.Add(new sdlist(fn, "v"));
+                                        }
+                                    }
+                                    else sd.Add(new sdlist(fn, "v"));
+                                }
+                                else if (fi == ".mov")
+                                {
+                                    if (((string)settings.Values["vidThumbnail"] == "1"))
+                                    {
+                                        try
+                                        {
+                                            await GetThumbnailImageAsync((StorageFile)File, ThumbnailMode.ListView);
+                                        }
+                                        catch
+                                        {
+                                            sd.Add(new sdlist(fn, "v"));
+                                        }
+                                    }
+                                    else sd.Add(new sdlist(fn, "v"));
+                                }
+                                else if (fi == ".zip")
+                                {
+                                    sd.Add(new sdlist(fn, "z"));
+
+                                }
+                                else if (fi == ".cs")
+                                {
+                                    sd.Add(new sdlist(fn, "c"));
+                                }
+                                else if (fi == ".pdf")
+                                {
+                                    sd.Add(new sdlist(fn, "b"));
+                                }
+                                else if (fi == ".vcf")
+                                {
+                                    sd.Add(new sdlist(fn, "l"));
+                                }
+                                else if (fi == ".doc")
+                                {
+                                    sd.Add(new sdlist(fn, "k"));
+                                }
+                                else if (fi == ".xlx")
+                                {
+                                    sd.Add(new sdlist(fn, "j"));
+                                }
+                                else if (fi == ".xlsx")
+                                {
+                                    sd.Add(new sdlist(fn, "j"));
+                                }
+                                else if (fi == ".7z")
+                                {
+                                    sd.Add(new sdlist(fn, "7"));
+                                }
+                                else if (fi == ".xml")
+                                {
+                                    sd.Add(new sdlist(fn, "x"));
+                                }
+                                else if (fi == ".txt")
+                                {
+                                    sd.Add(new sdlist(fn, "a"));
+                                }
+                                else if (fi == ".rar")
+                                {
+                                    sd.Add(new sdlist(fn, "r"));
+                                }
+                                else
+                                {
+                                    sd.Add(new sdlist(fn, "i"));
+
+                                }
+                                #endregion
+                            }
+                        }
+                    }
+                }
+                //else AI("This folder contains no items", 2);
+                SDGridView.ItemsSource = sd;
+            });
+        }
+
+        #endregion
+        #region LateralMenu
+        private void Menu_Click(object sender, RoutedEventArgs e)
+        {
+            if (SideMenu.IsDrawerOpen == false)
+            {
+                SideMenu.OpenDrawer();
+            }
+            else
+            {
+                SideMenu.CloseDrawer();
+            }
+        }
+        #endregion
+        #region ListBox
+        Object preObj = null;
+        Object curObj = null;
+        SideBarMenuButton stkChildren = null;
+
+        private void SideMenuLeft_SelectionChanged(object sender, SelectionChangedEventArgs e)
+        {
+            ListBox lBox = (ListBox)sender;
+            curObj = lBox.SelectedItem;
+            stkChildren = (SideBarMenuButton)curObj;
+            if (stkChildren.ContentText == "Settings") return;
+            if (preObj != null)
+            {
+                SideBarMenuButton preSBMB = (SideBarMenuButton)preObj;
+                preSBMB.BackgroundColor = null;
+            }
+            preObj = curObj;
+            stkChildren.BackgroundColor = (SolidColorBrush)Application.Current.Resources["PhoneAccentBrush"];
+        }
+        #endregion
+        #region MenuHandlers
+        #region SDCard
+        private async void SDCardEnumerator(object sender, RoutedEventArgs e)
+        {
+            if (IsSDLoading)
+            {
+                textBlock.Visibility = Visibility.Visible;
+            }
+            if (!IsSDLoading)
+            {
+                StorageFolder folder;
+                // check if we already have a token
+                if (ApplicationData.Current.LocalSettings.Values.ContainsKey("FolderTokenSettingsKey"))
+                {
+                    string token = (string)ApplicationData.Current.LocalSettings.Values["FolderTokenSettingsKey"];
+                    // if we do, use it to get the StorageFolder instance
+                    folder = await StorageApplicationPermissions.FutureAccessList.GetFolderAsync(token);
+                    this.Addresser.Reset();
+                    await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.High, delegate
+                    {
+                        IsMusicLibraryOpen = false;
+                        IsVideoLibraryOpen = false;
+                        IsPictureLibraryOpen = false;
+                        headerText.Text = "SD Card";
+                        RootFolder.Text = "3";
+                        if (GridType)
+                        {
+                            SDGridView.ItemsPanel = (ItemsPanelTemplate)Resources["GridViewItemsPanel"];
+                            SDGridView.ItemTemplate = (DataTemplate)Resources["GridFoldersView"];
+                        }
+                        else
+                        {
+                            SDGridView.ItemsPanel = (ItemsPanelTemplate)Resources["ListViewItemsPanel"];
+                            SDGridView.ItemTemplate = (DataTemplate)Resources["ListFoldersView"];
+                        }
+                        GetFilesAndFolder(folder);
+                    });
+                }
+                else
+                {
+                    // if we don't, this is the first time the code is being executed; user has to give
+                    // us a consent to use the folder
+                    FolderPicker folderPicker = new FolderPicker();
+                    folderPicker.FileTypeFilter.Add("*");
+                    folderPicker.PickFolderAndContinue();
+
+                }
+            }
+        }
+        #endregion
+        #region Phone
+        private void PhoneStorageEnumerator(object sender, TappedRoutedEventArgs e)
+        {
+
+        }
+        #endregion
+        #region Pictures
+        private async void PicturesLibraryTapped(object sender, RoutedEventArgs e)
+        {
+            IsPictureLibraryOpen = true;
+            var picturesAlbums = await KnownFolders.PicturesLibrary.GetItemsAsync();
+            if (picturesAlbums.Count != 0)
+            {
+                sd.Clear();
+                SDGridView.ItemsSource = null;
+                headerText.Text = "Pictures";
+                RootFolder.Text = "M";
+                this.Addresser.Reset();
+                SDGridView.ItemTemplate = (DataTemplate)Resources["PicturesView"];
+                SDGridView.ItemsPanel = (ItemsPanelTemplate)Resources["GridViewItemsPanel"];
+                Items = picturesAlbums;
+                foreach (var pFo in picturesAlbums)
+                {
+                    try
+                    {
+                        if (pFo.IsOfType(StorageItemTypes.Folder))
+                            await GetThumbnailImageAsync((StorageFolder)pFo, ThumbnailMode.PicturesView);
+                        else await GetThumbnailImageAsync((StorageFile)pFo, ThumbnailMode.PicturesView);
+                    }
+                    catch (Exception ex)
+                    {
+                        ShowStatus(ex.Message + ex.Source + ex.StackTrace);
+                    }
+
+                }
+                SDGridView.ItemsSource = sd;
+            }
+            else
+            {
+                AI("no pictures", "there no pictures in your phone");
+            }
+        }
+
+        private void SettingsPage(object sender, RoutedEventArgs e)
+        {
+
+            if (!Frame.Navigate(typeof(SettingsPage)))
+            {
+                throw new Exception("Failed to create scenario list");
+            }
+        }
+
+        #endregion
+        #region Video
+        private async void VideoLibraryTapped(object sender, RoutedEventArgs e)
+        {
+            Items = await KnownFolders.VideosLibrary.GetItemsAsync();
+            if (Items.Count != 0)
+            {
+                sd.Clear();
+                SDGridView.ItemsSource = null;
+                SDGridView.ItemTemplate = VideosView;
+                SDGridView.ItemsPanel = GridViewItemsPanel;
+                this.Addresser.Reset();
+                RootFolder.Text = ")";
+                headerText.Text = "Videos";
+                IsVideoLibraryOpen = true;
+                foreach (var pFo in Items)
+                {
+                    try
+                    {
+                        if (pFo.IsOfType(StorageItemTypes.Folder))
+                            await GetThumbnailImageAsync((StorageFolder)pFo, ThumbnailMode.VideosView);
+                        else await GetThumbnailImageAsync((StorageFile)pFo, ThumbnailMode.VideosView);
+                    }
+                    catch (Exception)
+                    {
+                        //AI(ex.Message + ex.Source + ex.StackTrace, 2);
+                    }
+
+                }
+                SDGridView.ItemsSource = sd;
+            }
+            else
+            {
+                AI("no videos", "there no videos in your phone");
+            }
+        }
+
+        private void ChangeListSource(int listType)
+        {
+            SDGridView.ItemsSource = null;
+            switch (listType)
+            {
+                
+                case 0:
+                    sd.Clear();
+                    SDGridView.ItemsSource = sd;
+                    break;
+                case 1:
+                    music.Clear();
+                    SDGridView.ItemsSource = music;
+                    IsMusicLibraryOpen = true;
+                    break;
+                case 2:
+                    picture.Clear();
+                    SDGridView.ItemsSource = picture;
+                    IsPictureLibraryOpen = true;
+                    break;
+                case 3:
+                    video.Clear();
+                    SDGridView.ItemsSource = video;
+                    IsVideoLibraryOpen = true;
+                    break;
+                default:
+                    throw new NotImplementedException();
+            }
+        }
+
+        #region Music
+        private async void MusicLibraryClick(object sender, RoutedEventArgs e)
+        {
+            var musicFolder = KnownFolders.MusicLibrary;
+            IReadOnlyList<IStorageItem> musicItems = await musicFolder.GetItemsAsync();
+            ChangeListSource(1);
+            if (musicItems.Count != 0)
+            {
+                SDGridView.ItemsPanel = (ItemsPanelTemplate)Resources["GridViewItemsPanel"];
+                SDGridView.ItemTemplate = (DataTemplate)Resources["MusicsView"];
+                RootFolder.Text = "y";
+                this.Addresser.Reset();
+                Items = musicItems;
+                IsMusicLibraryOpen = true;
+                headerText.Text = "Music";
+                await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.High, async delegate
+                {
+                    foreach (var pFo in musicItems)
+                    {
+                        try
+                        {
+                            if (pFo.IsOfType(StorageItemTypes.Folder))
+                            {
+                                music.Add(new MusicList(pFo.Name, 0));//0 is passed as dummy count, the dummy value should be replaced by the folder's children count.
+                            }
+                            else
+                            {
+
+                                IStorageFile File = (IStorageFile)pFo;
+                                if (File.FileType == ".mp3")
+                                {
+                                    var fileStream = await File.OpenStreamForReadAsync();
+                                    var tagFile = TagLib.File.Create(new StreamFileAbstraction(File.Name, fileStream, fileStream));
+                                    var tags = tagFile.GetTag(TagTypes.Id3v2);
+                                    try
+                                    {
+                                        if (tags.Pictures != null)
+                                        {
+                                            WriteableBitmap wm = null;
+
+                                            try
+                                            {
+                                                wm.FromByteArray(tags.Pictures[0].Data.Data);
+                                            }
+                                            catch (UnauthorizedAccessException)
+                                            {
+
+                                            }
+                                            catch (NullReferenceException)
+                                            {
+
+                                            }
+                                            ImageBrush im = new ImageBrush();
+                                            im.ImageSource = wm;
+                                            im.Stretch = Stretch.UniformToFill;
+                                            music.Add(new MusicList(tags.Title, tags.AlbumArtists[0], tags.Album, im));
+                                            #endregion
+                                        }
+                                    }
+                                    catch (IndexOutOfRangeException)
+                                    {
+                                        music.Add(new MusicList(pFo.Name, tags.AlbumArtists[0], tags.Album, null));
+                                    }
+                                }
+                                else if (File.FileType == ".m4a")
+                                    music.Add(new MusicList(pFo.Name,"","",null));
+                            }
+                        }
+                        catch (Exception ex)
+                        {
+                            ShowStatus(ex.Message + ex.Source + ex.StackTrace);
+                        }
+                    }
+                });
+            }
+            else
+            {
+                ShowStatus("no music content can be found :(");
+            }
+        }
+
+        private async Task GetThumbnailImageAsync(StorageFile item, ThumbnailMode mode)
+        {
+            if (item == null)
+                return;
+            using (var thumbnail = await item.GetThumbnailAsync(mode))
+            {
+                if (thumbnail != null)
+                {
+                    sd.Add(new sdlist(item.DisplayName, thumbnail, ""));
+                    return;
+                }
+            }
+        }
+        //public async Task<bool> IsEmpty(IStorageFolder directory)
+        //{
+        //    var items = await directory.GetItemsAsync();
+        //    ShowStatus(directory.Path);
+        //    bool isEmpty = items.Count == 0;
+        //    if (isEmpty)
+        //    {
+        //        //Storyboard story = new Storyboard();
+        //        switch (directory.Path)
+        //        {
+
+        //            case "D:/Documents":
+        //            //EmptyFolderStack.Visibility = Visibility.Visible;
+        //                break;
+        //            case "D:/Music":
+        //                EmptyFolderStack.Visibility = Visibility.Visible;
+        //                break;
+        //            default:
+        //                EmptyFolderStack.Visibility = Visibility.Visible;
+        //                break;
+
+
+        //        }
+        //        return true;
+        //    }
+        //    else
+        //    {
+        //        EmptyFolderStack.Visibility = Visibility.Collapsed;
+        //        return false;
+        //    }
+        //}
+        #endregion
+
+        #endregion
+        #region ImageHelpers
+        public async Task GetThumbnailImageAsync(StorageFolder item, ThumbnailMode mode)
+        {
+            if (item == null)
+                return;
+            using (var thumbnail = await item.GetThumbnailAsync(mode))
+            {
+                if (thumbnail != null /*&& thumbnail.Type == ThumbnailType.Image && thumbnail.Type == ThumbnailType.Icon*/)
+                {
+                    sd.Add(new sdlist(item.DisplayName, thumbnail, "2"));
+                    return;
+                }
+            }
+        }
+        #endregion
+
+        #region UI
+        public double PicHeight
+        {
+            get
+            {
+                if (IsVertical()) return Window.Current.Bounds.Height / 3;
+                else return Window.Current.Bounds.Width / 3;
+            }
+        }
+        public double PicWidth
+        {
+            get
+            {
+                if (IsVertical()) return Window.Current.Bounds.Width / 2;
+                else return Window.Current.Bounds.Height / 2;
+            }
+        }
+        public double ImageHeight
+        {
+            get
+            {
+                if (IsVertical()) return Window.Current.Bounds.Height / 3.5;
+                else return Window.Current.Bounds.Width / 3.5;
+            }
+        }
+        public double ImageWidth
+        {
+            get
+            {
+                if (IsVertical()) return Window.Current.Bounds.Width / 2.2;
+                else return Window.Current.Bounds.Height / 2.2;
+            }
+        }
+        public double Space
+        {
+            get { return Window.Current.Bounds.Height / 600; }
+        }
+        public double GridHeight
+        {
+            get
+            {
+                if (IsVertical()) return Window.Current.Bounds.Height / 4;
+                else return Window.Current.Bounds.Width / 4;
+            }
+        }
+        public double GridWidth
+        {
+            get
+            {
+                if (IsVertical()) return Window.Current.Bounds.Width / 3;
+                else return Window.Current.Bounds.Height / 3;
+            }
+        }
+
+        #endregion
+        #region FolderPicker
+
+
+        public void ContinueFolderPicker(FolderPickerContinuationEventArgs args)
+        {
+            folder = args.Folder;
+            if (folder != null)
+            {
+                try
+                {
+                    var id = folder.FolderRelativeId;
+                    if (folder != null)
+                    {
+                        if (folder.IsOfType(StorageItemTypes.Folder))
+                        {
+                            this.Addresser.Reset();
+                        }
+                        // after that, we can store the folder for future reuse
+                        string pickedFolderToken = StorageApplicationPermissions.FutureAccessList.Add(folder);
+                        ApplicationData.Current.LocalSettings.Values.Add("FolderTokenSettingsKey", pickedFolderToken);
+                        StorageApplicationPermissions.FutureAccessList.AddOrReplace("PickedFolderToken", folder);
+                        string mruToken = Windows.Storage.AccessCache.StorageApplicationPermissions.MostRecentlyUsedList.Add(folder);
+                        IsMusicLibraryOpen = false;
+                        IsVideoLibraryOpen = false;
+                        IsPictureLibraryOpen = false;
+                        headerText.Text = "SD Card";
+                        RootFolder.Text = "3";
+                        if (GridType)
+                        {
+                            SDGridView.ItemsPanel = (ItemsPanelTemplate)Resources["GridViewItemsPanel"];
+                            SDGridView.ItemTemplate = (DataTemplate)Resources["GridFoldersView"];
+                        }
+                        else
+                        {
+                            SDGridView.ItemsPanel = (ItemsPanelTemplate)Resources["ListViewItemsPanel"];
+                            SDGridView.ItemTemplate = (DataTemplate)Resources["ListFoldersView"];
+                        }
+                        GetFilesAndFolder(folder);
+                    }
+                    else
+                    {
+                        return;
+                    }
+                }
+                catch
+                { return; }
+            }
+        }
+        #endregion
+        #region FolderInteraction
+        private void FolderHold(object sender, HoldingRoutedEventArgs e)
+        {
+            if (SDGridView.SelectionMode == ListViewSelectionMode.None)
+            {
+                //folderHold.Begin();
+                operationBar.Visibility = Windows.UI.Xaml.Visibility.Visible;
+                //compressButton.Visibility = Visibility.Visible;
+                //sortButton.Visibility = Visibility.Collapsed;
+                operationBarNormal.Visibility = Visibility.Collapsed;//Start Cool Animations also :)
+                
+                SDGridView.SelectionMode = ListViewSelectionMode.Multiple;
+                //int index = SDGridView.Items.IndexOf(((sdlist)((ItemsControl)sender).DataContext));
+                //SDGridView.SelectedIndex = index;
+            }
+        }
+
+        private void ItemDoubleTap(object sender, DoubleTappedRoutedEventArgs e)
+        {
+            if (SDGridView.SelectionMode == ListViewSelectionMode.Multiple) return;
+            singleTap = false;
+            Rename((ItemsControl)sender);
+
+        }
+
+        private async void Rename(ItemsControl itemsControl)
+        {
+            itemsControlGrid = itemsControl;
+            var sdl = await CurrentFolder.GetItemsAsync();
+            int index = SDGridView.Items.IndexOf(((sdlist)itemsControlGrid.DataContext));
+            var selectedItem = sdl.ElementAt(index);
+            SDGridView.SelectedIndex = index;
+            Windows.UI.Xaml.Controls.TextBox txtBoxRe = new Windows.UI.Xaml.Controls.TextBox();
+            txtBoxRe.TextAlignment = TextAlignment.Center;
+            //txtBoxRe.Margin = new Thickness(0, 4, 0, 4);
+            StackPanel stk = itemsControlGrid.GetFirstLogicalChildByType<StackPanel>(false);
+            txtBlockRe = stk.GetLogicalChildrenByType<TextBlock>(false).ElementAt(0);
+            stk.Children.Add(txtBoxRe);
+            txtBlockRe.Visibility = Visibility.Collapsed;
+            txtBoxRe.GotFocus += (s, ex) =>
+            {
+                try
+                {
+                    txtBoxRe.Select(0, txtBoxRe.Text.LastIndexOf('.'));
+                }
+                catch
+                {
+                    txtBoxRe.SelectAll();
+                }
+            };
+            txtBoxRe.LostFocus += (s, ex) =>
+            {
+                txtBoxRe.Visibility = Visibility.Collapsed;
+                txtBlockRe.Visibility = Visibility.Visible;
+            };
+            txtBoxRe.KeyDown += async (s, ex) =>
+            {
+                if (ex.Key == Windows.System.VirtualKey.Enter)
+                {
+                    if (txtBoxRe.Text == String.Empty)
+                    {
+                        txtBoxRe.Visibility = Visibility.Collapsed;
+                        txtBlockRe.Visibility = Visibility.Visible;
+                    }
+                    else if (txtBoxRe.Text.Contains("/") || txtBoxRe.Text.Contains(@"\"))
+                    {
+                        AI("Cannot rename File or Folder", @"A file or folder can't contain any of the following characters: \ / : * ? " + "\"" + " < > |");
+                    }
+                    else
+                    {
+                        try
+                        {
+                            txtBlockRe.Text = txtBoxRe.Text;
+                            txtBoxRe.Visibility = Visibility.Collapsed;
+                            txtBlockRe.Visibility = Visibility.Visible;
+                            await selectedItem.RenameAsync(txtBoxRe.Text, NameCollisionOption.GenerateUniqueName);
+                        }
+                        catch
+                        {
+                            AI("Rename operation failed", "Cannot rename this file at the moment");
+                        }
+                        GetFilesAndFolder(CurrentFolder);
+                    }
+                }
+            };
+            txtBoxRe.Focus(FocusState.Programmatic);
+        }
+
+        private async void GridItemClick(object sender, TappedRoutedEventArgs e)
+        {
+            e.Handled = true;
+            ShowStatus(SDGridView.SelectedIndex.ToString());
+            if (SDGridView.SelectedIndex != -1) return;
+            singleTap = true;
+            await Task.Delay(200);
+            itemsControlGrid = (ItemsControl)sender;
+            //if (!singleTap) return;
+            int index = SDGridView.Items.IndexOf((sdlist)(itemsControlGrid.DataContext));
+            IStorageItem selectedItem = Items.ElementAt(index);
+            if (selectedItem.IsOfType(StorageItemTypes.Folder))
+            {
+                #region Folder PopOut Animation
+                //Storyboard story = new Storyboard();
+                //itemsControlGrid.RenderTransform = new CompositeTransform();
+                //itemsControlGrid.RenderTransformOrigin = new Point(0.5, 0.5);
+                //CircleEase ease = new CircleEase();
+                //DoubleAnimation opacity = new DoubleAnimation { From = 1, To = 0, Duration = TimeSpan.FromMilliseconds(100), EasingFunction=ease  };
+                //Storyboard.SetTargetProperty(opacity, "(UIElement.Opacity)");
+                //Storyboard.SetTarget(opacity, itemsControlGrid);
+                //DoubleAnimation scaleX = new DoubleAnimation { From = 1, To = 6, Duration = TimeSpan.FromMilliseconds(100), EasingFunction = ease };
+                //Storyboard.SetTargetProperty(scaleX, "(UIElement.RenderTransform).(CompositeTransform.ScaleX)");
+                //Storyboard.SetTarget(scaleX, itemsControlGrid);
+                //DoubleAnimation scaleY = new DoubleAnimation { From = 1, To = 6, Duration = TimeSpan.FromMilliseconds(100), EasingFunction = ease };
+                //Storyboard.SetTargetProperty(scaleY, "(UIElement.RenderTransform).(CompositeTransform.ScaleY)");
+                //Storyboard.SetTarget(scaleY, itemsControlGrid);
+                //story.Children.Add(scaleX);
+                //story.Children.Add(scaleY);
+                //story.Children.Add(opacity);
+                //story.Begin();
+                #endregion
+                Addresser.Address(((IStorageFolder)selectedItem).Name, ((IStorageFolder)selectedItem).Path);
+                if (IsVideoLibraryOpen || IsPictureLibraryOpen)
+                {
+                    SDGridView.ItemsPanel = (ItemsPanelTemplate)Resources["GridViewItemsPanel"];
+                    SDGridView.ItemTemplate = (DataTemplate)Resources["PicturesView"];
+                }
+                else if (IsMusicLibraryOpen)
+                {
+                    SDGridView.ItemsPanel = (ItemsPanelTemplate)Resources["GridViewItemsPanel"];
+                    SDGridView.ItemTemplate = (DataTemplate)Resources["MusicsView"];
+                }
+                GetFilesAndFolder((IStorageFolder)selectedItem);
+                return;
+            }
+            else if (selectedItem.IsOfType(StorageItemTypes.File))
+            {
+                ExecuteFile((IStorageFile)selectedItem);
+                return;
+            }
+        }
+
+        private async void VideoItemClick(object sender, TappedRoutedEventArgs e)
+        {
+            singleTap = true;
+            await Task.Delay(200);
+            itemsControlGrid = (ItemsControl)sender;
+            if (!singleTap) return;
+            int index = SDGridView.Items.IndexOf((sdlist)(itemsControlGrid.DataContext));
+            IStorageItem selectedItem = Items.ElementAt(index);
+            if (selectedItem.IsOfType(StorageItemTypes.Folder))
+            {
+                Addresser.Address(((IStorageFolder)selectedItem).Name, ((IStorageFolder)selectedItem).Path);
+                SDGridView.ItemsPanel = (ItemsPanelTemplate)Resources["GridViewItemsPanel"];
+                SDGridView.ItemTemplate = (DataTemplate)Resources["PicturesView"];
+
+                GetFilesAndFolder((IStorageFolder)selectedItem);
+                return;
+            }
+            else if (selectedItem.IsOfType(StorageItemTypes.File))
+            {
+                ExecuteFile((IStorageFile)selectedItem);
+                return;
+            }
+        }
+        private async void PictureItemClick(object sender, TappedRoutedEventArgs e)
+        {
+            singleTap = true;
+            await Task.Delay(200);
+            itemsControlGrid = (ItemsControl)sender;
+            if (!singleTap) return;
+            int index = SDGridView.Items.IndexOf((sdlist)(itemsControlGrid.DataContext));
+            IStorageItem selectedItem = Items.ElementAt(index);
+            if (selectedItem.IsOfType(StorageItemTypes.Folder))
+            {
+                Addresser.Address(((IStorageFolder)selectedItem).Name, ((IStorageFolder)selectedItem).Path);
+                SDGridView.ItemsPanel = (ItemsPanelTemplate)Resources["GridViewItemsPanel"];
+                SDGridView.ItemTemplate = (DataTemplate)Resources["PicturesView"];
+
+                GetFilesAndFolder((IStorageFolder)selectedItem);
+                return;
+            }
+            else if (selectedItem.IsOfType(StorageItemTypes.File))
+            {
+                ExecuteFile((IStorageFile)selectedItem);
+                return;
+            }
+        }
+        private async void MusicItemClick(object sender, TappedRoutedEventArgs e)
+        {
+            singleTap = true;
+            await Task.Delay(200);
+            musicItemsControlGrid = (ItemsControl)sender;
+            if (!singleTap) return;
+            int index = SDGridView.Items.IndexOf((sdlist)(musicItemsControlGrid.DataContext));
+            IStorageItem selectedItem = Items.ElementAt(index);
+            if (selectedItem.IsOfType(StorageItemTypes.Folder))
+            {
+                Addresser.Address(((IStorageFolder)selectedItem).Name, ((IStorageFolder)selectedItem).Path);
+                SDGridView.ItemsPanel = (ItemsPanelTemplate)Resources["GridViewItemsPanel"];
+                SDGridView.ItemTemplate = (DataTemplate)Resources["MusicsView"];
+
+                GetFilesAndFolder((IStorageFolder)selectedItem);
+                return;
+            }
+            else if (selectedItem.IsOfType(StorageItemTypes.File))
+            {
+                ExecuteFile((IStorageFile)selectedItem);
+                return;
+            }
+        }
+        #endregion
+        #region MusicStatusUpdater(work-in progress)
+        public async void MusicStatusUpdate()
+        {
+            await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, delegate
+            {
+                Grid grd = null;
+                if (!IsMusicLibraryOpen) return;
+                    grd = musicItemsControlGrid.GetFirstLogicalChildByType<Grid>(false);
+                if (grd.Children.Count == 2)
+                {
+                    Border brdB = grd.GetFirstLogicalChildByType<Border>(false);
+                    grd.Children.Remove(brdB);
+                    return;
+                }
+                Border brd = new Border();
+                brd.CornerRadius = new CornerRadius(150);
+                TextBlock txt = new TextBlock();
+                brd.VerticalAlignment = VerticalAlignment.Center;
+                brd.HorizontalAlignment = HorizontalAlignment.Center;
+                brd.Background = new SolidColorBrush(Windows.UI.Color.FromArgb(200, 0, 0, 0));
+                txt.FontFamily = new FontFamily("Assets/Font/iconFont.ttf#iconfont");
+                txt.Margin = new Thickness(20);
+                txt.FontSize = 50;
+                txt.Foreground = new SolidColorBrush(Windows.UI.Color.FromArgb(255, 255, 255, 255));
+                txt.VerticalAlignment = VerticalAlignment.Center;
+                txt.HorizontalAlignment = HorizontalAlignment.Center;
+                txt.Text = "2";
+                brd.Child = txt;
+                grd.Children.Add(brd);
+            });
+        }
+        #endregion
+        #region FileExecution
+        private async void ExecuteFile(IStorageFile selectedItem)
+        {
+
+            if (selectedItem.FileType == ".zip")
+            {
+                //var temps = await ApplicationData.Current.TemporaryFolder.GetItemsAsync();
+                //foreach (var temp in temps)
+                //{
+                //    await temp.DeleteAsync();
+                //}
+                //temps = await ApplicationData.Current.TemporaryFolder.GetItemsAsync();
+                //if (temps.Count == 0)
+                    GetFilesAndFolder((IStorageFolder)await OpenZip(selectedItem));
+            }
+            else if (selectedItem.FileType == ".mp3")
+            {
+                if ((string)settings.Values["musicPlayer"] == "1")
+                    PlayMedia(selectedItem);
+                else await Windows.System.Launcher.LaunchFileAsync(selectedItem);
+            }
+            else if (selectedItem.FileType == ".wma")
+            {
+                if ((string)settings.Values["musicPlayer"] == "1")
+                    PlayMedia(selectedItem);
+                else await Windows.System.Launcher.LaunchFileAsync(selectedItem);
+            }
+            else if (selectedItem.FileType == ".m4a")
+            {
+                if ((string)settings.Values["musicPlayer"] == "1")
+                    PlayMedia(selectedItem);
+                else await Windows.System.Launcher.LaunchFileAsync(selectedItem);
+            }
+            else if (selectedItem.FileType == ".mp4")
+            {
+                if ((string)settings.Values["videosPlayer"] == "1")
+                {
+                    PlayVideo(selectedItem);
+                }
+                else await Windows.System.Launcher.LaunchFileAsync(selectedItem);
+            }
+            else if (selectedItem.FileType == ".mov")
+            {
+                if ((string)settings.Values["videosPlayer"] == "1")
+                {
+                    PlayVideo(selectedItem);
+                }
+                else await Windows.System.Launcher.LaunchFileAsync(selectedItem);
+            }
+            else if (selectedItem.FileType == ".jpg")
+            {
+                if ((string)settings.Values["picturesPlayer"] == "1")
+                {
+                    DisplayPhoto(selectedItem);
+                }
+                else await Windows.System.Launcher.LaunchFileAsync(selectedItem);
+            }
+            else
+            {
+                await Windows.System.Launcher.LaunchFileAsync(selectedItem);
+            }
+        }
+
+        private void PlayVideo(IStorageFile selectedItem)
+        {
+            this.Frame.Navigate(typeof(VideoPage),selectedItem);
+            //mediaPlayer.Source = new Uri(selectedItem.Path);
+            //musicArt.Text = "";
+            //mediaPlayer.MediaOpened += async (s, t) =>
+            //{
+            //    await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.High, delegate
+            //    {
+            //        musicSlider.Maximum = mediaPlayer.NaturalDuration.TimeSpan.TotalSeconds;
+            //        playPause.Content = "8";
+            //        UpdateMusic(title, artist, mediaPlayer.NaturalDuration.TimeSpan);
+            //        musicDispatcher.Start();
+            //    });
+            //};
+            //mediaPlayer.Play();
+            //var fileStream = await selectedItem.OpenStreamForReadAsync();
+            //MusicStatusUpdate();
+        }
+
+        #endregion
+        #region ZipFileHelpers
+        public async Task<StorageFolder> OpenZip(IStorageFile compressedFile)
+        {
+            try
+            {
+                //using (MemoryStream zipMemoryStream = new MemoryStream(WindowsRuntimeBufferExtensions.ToArray(await FileIO.ReadBufferAsync(compressedFile))))
+                //{
+                //    using (ZipArchive zipArchive = new ZipArchive(zipMemoryStream, ZipArchiveMode.Read))
+                //    {
+                //        var files = zipArchive.Entries;
+                //        foreach (var file in files)
+                //        {
+                //            try
+                //            {
+                //                var uncompressedFol = await ApplicationData.Current.TemporaryFolder.CreateFileAsync(file.Name, CreationCollisionOption.ReplaceExisting);
+                //            }
+                //            catch
+                //            {
+                //                var uncompressedFile = await ApplicationData.Current.TemporaryFolder.CreateFileAsync(file.Name, CreationCollisionOption.ReplaceExisting);
+                //            }
+
+                //            return ApplicationData.Current.TemporaryFolder;
+                //        }
+                //        return null;
+                //    }
+                //}
+                var zipArchive = new System.IO.Compression.ZipArchive(await compressedFile.OpenStreamForReadAsync());
+
+                foreach (var entry in zipArchive.Entries)
+                {
+                    using (var entryStream = entry.Open())
+                    {
+                        if (true)//IsFileBinary(entry.Name)  ?
+                        {
+                            using (BinaryReader br = new BinaryReader(entryStream))
+                            {
+                                //var fileSize = await reader.LoadAsync((uint)entryStream.Length);
+                                var fileSize = br.BaseStream.Length;
+                                byte[] read = br.ReadBytes((int)fileSize);
+
+                                var binaryContent = read;
+                            }
+                        }
+                    }
+                }
+                using (BinaryReader b = new BinaryReader(await compressedFile.OpenStreamForReadAsync())) 
+                {
+                    // Do not do this.
+                    while (b.PeekChar() != -1)
+                    {
+                        int v = b.ReadInt32();
+                    }
+                }
+            }
+            catch (Exception ex)
+            {
+                ShowStatus(ex.Message);
+                return null;
+            }
+            return null;
+        }
+
+        byte[] CentralDirImage = {50,01,05,06,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00};
+
+                public List<string> ReadCentralDir()
+        {
+            if (this.CentralDirImage == null)
+                throw new InvalidOperationException("Central directory currently does not exist");
+ 
+            List<string> result = new List<string>();
+ 
+            for (int pointer = 0; pointer < this.CentralDirImage.Length; )
+            {
+                uint signature = BitConverter.ToUInt32(CentralDirImage, pointer);
+                if (signature != 0x02014b50)
+                    break;
+ 
+                bool encodeUTF8 = (BitConverter.ToUInt16(CentralDirImage, pointer + 8) & 0x0800) != 0;
+                ushort method = BitConverter.ToUInt16(CentralDirImage, pointer + 10);
+                uint modifyTime = BitConverter.ToUInt32(CentralDirImage, pointer + 12);
+                uint crc32 = BitConverter.ToUInt32(CentralDirImage, pointer + 16);
+                uint comprSize = BitConverter.ToUInt32(CentralDirImage, pointer + 20);
+                uint fileSize = BitConverter.ToUInt32(CentralDirImage, pointer + 24);
+                ushort filenameSize = BitConverter.ToUInt16(CentralDirImage, pointer + 28);
+                ushort extraSize = BitConverter.ToUInt16(CentralDirImage, pointer + 30);
+                ushort commentSize = BitConverter.ToUInt16(CentralDirImage, pointer + 32);
+                uint headerOffset = BitConverter.ToUInt32(CentralDirImage, pointer + 42);
+                uint headerSize = (uint)( 46 + filenameSize + extraSize + commentSize);
+
+                Encoding encoder = encodeUTF8 ? Encoding.UTF8 : Encoding.Unicode;
+ 
+                string zfe = new string();
+                zfe.Method = (Compression)method;
+                zfe.FilenameInZip = encoder.GetString(CentralDirImage, pointer + 46, filenameSize);
+                zfe.FileOffset = GetFileOffset(headerOffset);
+                zfe.FileSize = fileSize;
+                zfe.CompressedSize = comprSize;
+                zfe.HeaderOffset = headerOffset;
+                zfe.HeaderSize = headerSize;
+                zfe.Crc32 = crc32;
+                zfe.ModifyTime = DosTimeToDateTime(modifyTime);
+                if (commentSize > 0)
+                    zfe.Comment = encoder.GetString(CentralDirImage, pointer + 46 + filenameSize + extraSize, commentSize);
+ 
+                result.Add(zfe);
+                pointer += (46 + filenameSize + extraSize + commentSize);
+            }
+ 
+            return result;
+        }
+
+
+        public async Task<StorageFile> CreateZip(StorageFile file)
+        {
+            if (CurrentFolder != null)
+            {
+                try
+                {
+                    using (MemoryStream zipMemoryStream = new MemoryStream())
+                    {
+                        using (System.IO.Compression.ZipArchive zipArchive = new System.IO.Compression.ZipArchive(zipMemoryStream, ZipArchiveMode.Create))
+                        {
+                            try
+                            {
+                                byte[] buffer = WindowsRuntimeBufferExtensions.ToArray(await FileIO.ReadBufferAsync(file));
+                                ZipArchiveEntry entry = zipArchive.CreateEntry(file.Name);
+                                using (Stream entryStream = entry.Open())
+                                {
+                                    await entryStream.WriteAsync(buffer, 0, buffer.Length);
+                                }
+                                GetFilesAndFolder(CurrentFolder);
+                            }
+                            catch (Exception ex)
+                            {
+                                ShowStatus(ex.Message);
+                            }
+                        }
+
+                        // Created new file to store compressed files
+                        var compressedFileName = file.Name + ".zip";
+                        StorageFile zipFile = await ApplicationData.Current.TemporaryFolder.CreateFileAsync(compressedFileName, CreationCollisionOption.GenerateUniqueName);
+                        using (IRandomAccessStream zipStream = await zipFile.OpenAsync(FileAccessMode.ReadWrite))
+                        {
+                            // Write compressed data from memory to file
+                            using (Stream outstream = zipStream.AsStreamForWrite())
+                            {
+                                byte[] buffer = zipMemoryStream.ToArray();
+                                outstream.Write(buffer, 0, buffer.Length);
+                                outstream.Flush();
+                                return zipFile;
+                            }
+                        }
+                    }
+                }
+                catch (Exception ex)
+                {
+                    ShowStatus(ex.Message);
+                    return null;
+                }
+            }
+            else
+            {
+                ShowStatus("Error! This is not a valid folder");
+                return null;
+            }
+        }
+        #endregion
+        #region BottomBarmenuEventHandlers
+        private void GridListChange(object sender, RoutedEventArgs e)
+        {
+            if (GridType)
+            {
+                SDGridView.ItemsPanel = (ItemsPanelTemplate)Resources["ListViewItemsPanel"];
+                SDGridView.ItemTemplate = (DataTemplate)Resources["ListFoldersView"];
+                gridList.ContentText = "list";
+                gridList.ImageText = "b";
+                GridType = false;
+            }
+            else
+            {
+                SDGridView.ItemsPanel = (ItemsPanelTemplate)Resources["GridViewItemsPanel"];
+                SDGridView.ItemTemplate = (DataTemplate)Resources["GridFoldersView"];
+                gridList.ContentText = "grid";
+                gridList.ImageText = "N";
+                GridType = true;
+            }
+        }
+        private void SelectAll(object sender, RoutedEventArgs e)
+        {
+            SDGridView.SelectionMode = ListViewSelectionMode.Multiple;
+            SDGridView.SelectAll();
+            operationBar.Visibility = Visibility.Visible;
+            operationBarNormal.Visibility = Visibility.Collapsed;
+            //folderHold.Begin();
+        }
+        private void selectBox_Unchecked(object sender, RoutedEventArgs e)
+        {
+            UnselectAll();
+        }
+        public void UnselectAll()
+        {
+            SDGridView.SelectionMode = ListViewSelectionMode.None;
+            operationBar.Visibility = Visibility.Collapsed;
+            operationBarNormal.Visibility = Visibility.Visible;
+        }
+        #endregion
+        #region SDGridViewSelectionChanged
+        private void SDGridViewSelectionChanged(object sender, SelectionChangedEventArgs e)
+        {
+            if (SDGridView.SelectedIndex == -1)
             {
-                appSettings.Add("Shaker","Off");
-                appSettings.Save();
-                appSettings.Add("Passer","Off");
-                appSettings.Save();
-                appSettings.Add("PasswordValue", "2580");
-                appSettings.Save();
+                //operationBar.Visibility = Windows.UI.Xaml.Visibility.Collapsed;
+                //operationBarNormal.Visibility = Visibility.Visible;
+                //headerText.Visibility = Windows.UI.Xaml.Visibility.Visible;
+                //folderHoldRev.Begin();
+                SDGridView.SelectionMode = ListViewSelectionMode.None;
+                //SDGridView.IsItemClickEnabled = true;
+                return;
             }
-            #endregion
-            #region ThemeChecker
-            //Visibility isVisible = (Visibility)Application.Current.Resources["PhoneLightThemeVisibility"];
-            //if (isVisible == System.Windows.Visibility.Visible)
-            //{
+            else { return; }
+        }
+        #endregion
 
-            //}
-            //else
-            //{
 
-            //}
-            #endregion
-            StateHelper();
-            WallpaperChanger(bm);
-            MusicStateCreator();
+
+        #region FileSortingMethods
+
+        private void OpenSortMenu(object sender, RoutedEventArgs e)
+        {
+            OpenSortMenuAnim.Begin();
+            //ToggleMenu(SortMenu);
         }
 
-        #region ContextMenu
+        private void ToggleMenu(Panel element)
+        {
+            if (element.Visibility == Visibility.Visible)
+                element.Visibility = Visibility.Collapsed;
+            else element.Visibility = Visibility.Visible;
+        }
 
+        private void SortMenuItemClick(object sender, RoutedEventArgs e)
+        {
+            Button bt = (Button)sender;
+            string buttonName = bt.Content.ToString();
+            if (buttonName == "Name")
+            {
+                Sort(0);
+            }
+            else if (buttonName == "Type")
+            {
+                Sort(1);
+            }
+            else if (buttonName == "Size")
+            {
+                Sort(2);
+            }
+            else if (buttonName == "Date")
+            {
+                Sort(3);
+            }
+            SortMenu.Visibility = Visibility.Collapsed;
+        }
 
-        private void vault_button_Tap(object sender, System.Windows.Input.GestureEventArgs e)
+        public void Sort(int sortType)
         {
-            Button b = (Button)sender;
-            Hbtns = (b.Content).ToString();
+            try
+            {
+                switch (sortType)
+                {
+                    case 0:
+                        sd.OrderBy(o => o.Name);
+                        break;
+                    case 1:
+                        sd.OrderBy(o => o.Image);
+                        break;
+                    case 2:
+                        sd.OrderBy(o => o.Name);
+                        break;
+                    case 3:
+                        sd.OrderBy(o => o.Name);
+                        break;
+                }
+            }
+            catch (ArgumentNullException)
+            {
+
+            }
         }
 
-        private void Copy_Click(object sender, RoutedEventArgs e)
+        #endregion
+        private void ListBoxSelectionChanged(object sender, SelectionChangedEventArgs e)
         {
-            MessageBox.Show("Copied To Clipboard");
+            if (stkChildren != null && stkChildren.ContentText == "Settings") return;
+            this.Addresser.Reset();
+            sd.Clear();
+            SDGridView.ItemsSource = null;
+            headerText.Text = String.Empty;
         }
+        private void PhoneRefreshTapped(object sender, TappedRoutedEventArgs e)
+        {
 
-        private void Cut_Click(object sender, RoutedEventArgs e)
+        }
+        private void PhoneEnumerator(object sender, RoutedEventArgs e)
         {
-            MessageBox.Show("Ready to be Pasted");
+            FolderPicker fp = new FolderPicker();
+            fp.PickFolderAndContinue();
+            if (IsPhoneLoading)
+            {
+                phoneWarning.Visibility = Visibility.Visible;
+            }
         }
 
-        private void Delete_Click(object sender, RoutedEventArgs e)
+        private Task LoadMemoryData()
         {
-            MessageBox.Show("File Couldn't be deleted");
+            textBlock.Visibility = Visibility.Collapsed;
+            phoneWarning.Visibility = Visibility.Collapsed;
+            IStorageItem sf = ApplicationData.Current.LocalFolder;
+
+            var properties = sf.GetBasicPropertiesAsync().Completed += (es, t) =>
+            {
+                es.GetResults().RetrievePropertiesAsync(new[] { "System.FreeSpace" }).Completed += (ex, tx) =>
+                {
+                    var freeSpace = ex.GetResults()["System.FreeSpace"];
+#pragma warning disable CS4014 // Because this call is not awaited, execution of the current method continues before the call is completed
+                    Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
+#pragma warning restore CS4014 // Because this call is not awaited, execution of the current method continues before the call is completed
+                    {
+                        float freeSpaceGB = (float)Double.Parse((freeSpace.ToString())) / 1000000000;
+                        FreeSpace.Text = Math.Round(freeSpaceGB, 2).ToString();
+                        sdProgbar.Maximum = 16.00;
+                        sdProgbar.Value = 16.00 - freeSpaceGB;
+                        IsSDLoading = false;
+                        IsPhoneLoading = false;
+                        SDLoad.Stop();
+                        symbolIcon.Visibility = Visibility.Collapsed;
+                        PhoneLoad.Stop();
+                        symbolIcon1.Visibility = Visibility.Collapsed;
+                    });
+                };
+            };
+
+            return null;
         }
 
-        private void Hide_Click(object sender, RoutedEventArgs e)
+        private void AddFile(object sender, RoutedEventArgs e)
         {
-            MenuItem m = (MenuItem)sender;
-            sdlists.ItemsSource = l;
+            CurrentFolder.CreateFileAsync("New File", CreationCollisionOption.GenerateUniqueName).Completed += (es,t) =>
+               {
+#pragma warning disable CS4014 // Because this call is not awaited, execution of the current method continues before the call is completed
+                   Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, delegate
+#pragma warning restore CS4014 // Because this call is not awaited, execution of the current method continues before the call is completed
+                   {
+                       GetFilesAndFolder(CurrentFolder);
+                   });
+               };
         }
+        private void AddZip(object sender, RoutedEventArgs e)
+        {
+            InputPrompt ip = new InputPrompt();
+            ip.Completed += (async (ex, t) =>
+            {
+                StorageFile sf = await CurrentFolder.CreateFileAsync(t.Result + ".zip", CreationCollisionOption.GenerateUniqueName);
+                if (sf != null && CreateZip(sf).IsCompleted)
+                {
 
-        #endregion
+                    GetFilesAndFolder(CurrentFolder);
+                }
+            });
+            ip.Title = "Enter file name";
+            ip.Show();
+        }
 
-        #region FileLister
-        async public void StateHelper()
+        private void AddFolder(object sender, RoutedEventArgs e)
+        {
+            InputPrompt ip = new InputPrompt();
+            ip.Completed += (async (ex, t) =>
+            {
+                StorageFolder sf = await CurrentFolder.CreateFolderAsync(t.Result, CreationCollisionOption.GenerateUniqueName);
+                GetFilesAndFolder(CurrentFolder);
+            });
+            ip.Title = "Enter folder name";
+            ip.Show();
+        }
+        private async void DeleteItem(object sender, RoutedEventArgs e)
         {
-            ExternalStorageDevice sdCard = (await ExternalStorage.GetExternalStorageDevicesAsync()).FirstOrDefault();
-            if (sdCard != null)
+            var sdl = SDGridView.SelectedItems;
+            foreach (var sdli in sdl)
             {
-               ExternalStorageFolder sdrootFolder = sdCard.RootFolder;
-               temp = sdrootFolder;
-               var folder = await sdrootFolder.GetFoldersAsync();
-               var files = await sdrootFolder.GetFilesAsync();
-                foreach(ExternalStorageFolder currentChildFolder in folder)
+                try
                 {
-                    l.Add(new sdlist(currentChildFolder.Name, "/Resources/Assets/Images/folder.png"));
+                    var si = (sdlist)sdli;
+                    IStorageItem selectedItem = Items.ElementAt(sd.IndexOf(si));
+                    await selectedItem.DeleteAsync();
+                    sd.Remove(si);
                 }
-                foreach (ExternalStorageFile currentChildFile in files)
+                catch (Exception ex)
                 {
-                    if (currentChildFile.Name.EndsWith(".pdf"))
-                        l.Add(new sdlist(currentChildFile.Name, "/Resources/Assets/File_Types/pdf.png"));
-                    if (currentChildFile.Name.EndsWith(".svg"))
-                        l.Add(new sdlist(currentChildFile.Name, "/Resources/Assets/File_Types/svg.png"));
-                    if (currentChildFile.Name.EndsWith(".mkv"))
-                        l.Add(new sdlist(currentChildFile.Name, "/Resources/Assets/File_Types/mkv.png"));
-                    if (currentChildFile.Name.EndsWith(".rar"))
-                        l.Add(new sdlist(currentChildFile.Name, "/Resources/Assets/File_Types/rar.png"));
-                    if (currentChildFile.Name.EndsWith(".csv"))
-                        l.Add(new sdlist(currentChildFile.Name, "/Resources/Assets/File_Types/csv.png"));
-                    if (currentChildFile.Name.EndsWith(".avi"))
-                        l.Add(new sdlist(currentChildFile.Name, "/Resources/Assets/File_Types/avi.png"));
-                    if (currentChildFile.Name.EndsWith(".7z"))
-                        l.Add(new sdlist(currentChildFile.Name, "/Resources/Assets/File_Types/7z.png"));
-
+                    AI("Cannot Delete File", "Cannot delete file because the file may be locked");
+                    ShowStatus(ex.Message);
                 }
             }
+            //GetFilesAndFolder(CurrentFolder);
+        }
 
-            else
+        private void RenameItem(object sender, RoutedEventArgs e)
+        {
+            Rename((ItemsControl)sender);
+        }
+
+        List<StorageFile> clipboard = new List<StorageFile>();
+        private void CutItems(object sender, RoutedEventArgs e)
+        {
+            clipboard.Clear();
+            var sdl = SDGridView.SelectedItems;
+            foreach (var sdli in sdl)
             {
-                nosd.Visibility = System.Windows.Visibility.Visible;
+                try
+                {
+                    var si = (sdlist)sdli;
+                    IStorageItem selectedItem = Items.ElementAt(sd.IndexOf(si));
+                    if (selectedItem.IsOfType(StorageItemTypes.File))
+                    {
+                        StorageFile sf = (StorageFile)selectedItem;
+
+                        clipboard.Add(sf);
+                    }
+
+                }
+                catch (Exception ex)
+                {
+                    ShowStatus(ex.Message);
+                    AI("Cannot add to clipboard",ex.Message);
+                }
+
             }
-            sdlists.ItemsSource = l;
-            
         }
-        async private void folderTap_Click(object sender, System.Windows.Input.GestureEventArgs e)
+
+        #region ShowStatus
+        public void ShowStatus(string info)
         {
+            NotifyUser(info);
+        }
+        #endregion
 
-            StackPanel sp = (StackPanel)sender;
-            TextBlock btn = (TextBlock)sp.FindName("folderTap");
-            btns = btn.Text;
-            if (btns.EndsWith(".7z") || btns.EndsWith(".avi") || btns.EndsWith(".mkv"))
+        private void PasteItem(object sender, RoutedEventArgs e)
+        {
+            OpenDialog(2);
+        }
+        private void OverwriteContents(object sender, RoutedEventArgs e)
+        {
+            FileMoveDialog.Visibility = Visibility.Collapsed;
+            ProgInfoView.Visibility = Visibility.Visible;
+            int clipCount = 0;
+            if ((clipCount = clipboard.Count) != 0)
             {
-                if (btns.EndsWith(".7z"))
-                {
-                    MessageBox.Show("It's a 7-zip File");
-                }
-                if (btns.EndsWith(".avi"))
+                progFileDest.Text = CurrentFolder.Name;
+                progTotalSize.Text = clipCount.ToString();
+                if (IS_FILE_MOVE)//move
                 {
-                    MessageBox.Show("It's a avi File");
+                    cmstatus.Text = "moving";
+                    try
+                    {
+                        foreach (var item in clipboard)
+                        {
+                            progFileSource.Text = item.Name;
+                            progCurrentSize.Text = clipboard.IndexOf(item).ToString();
+                            var tb = item.MoveAsync(CurrentFolder, item.Name, NameCollisionOption.ReplaceExisting);
+                            tb.Completed += async (i, s) =>
+                            {
+                                await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, delegate
+                                {
+                                    ProgInfoView.Visibility = Visibility.Collapsed;
+                                    ProgressDialog.Visibility = Visibility.Collapsed;
+                                });
+                            };
+                        }
+                        GetFilesAndFolder(CurrentFolder);
+                    }
+                    catch (Exception ex)
+                    {
+                        AI("Error copying file", ex.Message);
+                    }
                 }
-                if (btns.EndsWith(".mkv"))
+                else//copy
                 {
-                    MessageBox.Show("It's a mkv File");
+                    cmstatus.Text = "copying";
+                    try
+                    {
+                        foreach (var item in clipboard)
+                        {
+                            progFileSource.Text = item.Name;
+                            progCurrentSize.Text = clipboard.IndexOf(item).ToString();
+                            var tb = item.CopyAsync(CurrentFolder, item.Name, NameCollisionOption.ReplaceExisting);
+                            tb.Completed += async (i, s) =>
+                            {
+                                await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, delegate
+                                {
+                                    ProgInfoView.Visibility = Visibility.Collapsed;
+                                    ProgressDialog.Visibility = Visibility.Collapsed;
+                                });
+                            };
+                        }
+                        GetFilesAndFolder(CurrentFolder);
+                    }
+                    catch (Exception ex)
+                    {
+                        AI("Error copying file", ex.Message);
+                    }
                 }
             }
-            else
+        }
+
+        private void KeepBothFiles(object sender, RoutedEventArgs e)
+        {
+            FileMoveDialog.Visibility = Visibility.Collapsed;
+            ProgInfoView.Visibility = Visibility.Visible;
+            int clipCount = 0;
+            if ((clipCount = clipboard.Count) != 0)
             {
-                var temps = await temp.GetFoldersAsync();
-                l.Clear();
-                foreach (ExternalStorageFolder subTemp in temps)
+                progFileDest.Text = CurrentFolder.Name;
+                progTotalSize.Text = clipCount.ToString();
+                if (IS_FILE_MOVE)//move
                 {
-                    if (btns == subTemp.Name)
+                    cmstatus.Text = "moving";
+                    try
                     {
-                        temp = subTemp;
-                        textBlock.Text = subTemp.Path;
-                        sd.Text = subTemp.Name;
-                        var subtemps = await subTemp.GetFoldersAsync();
-                        var files = await subTemp.GetFilesAsync();
-                        l.Clear();
-                        l.Add(new sdlist("back", "/Resources/Assets/Images/back.png"));
-                        foreach (ExternalStorageFolder subsTemp in subtemps)
+                        foreach (var item in clipboard)
                         {
-                            l.Add(new sdlist(subsTemp.Name, "/Resources/Assets/Images/folder.png"));
+                            progFileSource.Text = item.Name;
+                            progCurrentSize.Text = clipboard.IndexOf(item).ToString();
+                            var tb = item.MoveAsync(CurrentFolder, item.Name, NameCollisionOption.GenerateUniqueName);
+                            tb.Completed += async (i, s) =>
+                            {
+                                await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, delegate
+                                {
+                                    ProgInfoView.Visibility = Visibility.Collapsed;
+                                    ProgressDialog.Visibility = Visibility.Collapsed;
+                                });
+                            };
                         }
-                        foreach (ExternalStorageFile currentChildFile in files)
+                        GetFilesAndFolder(CurrentFolder);
+                    }
+                    catch (Exception ex)
+                    {
+                        AI("Error copying file", ex.Message);
+                    }
+                }
+                else//copy
+                {
+                    cmstatus.Text = "copying";
+                    try
+                    {
+                        foreach (var item in clipboard)
                         {
-                            if (currentChildFile.Name.EndsWith(".pdf"))
-                                l.Add(new sdlist(currentChildFile.Name, "/Resources/Assets/File_Types/pdf.png"));
-                            if (currentChildFile.Name.EndsWith(".svg"))
-                                l.Add(new sdlist(currentChildFile.Name, "/Resources/Assets/File_Types/svg.png"));
-                            if (currentChildFile.Name.EndsWith(".mkv"))
-                                l.Add(new sdlist(currentChildFile.Name, "/Resources/Assets/File_Types/mkv.png"));
-                            if (currentChildFile.Name.EndsWith(".rar"))
-                                l.Add(new sdlist(currentChildFile.Name, "/Resources/Assets/File_Types/rar.png"));
-                            if (currentChildFile.Name.EndsWith(".csv"))
-                                l.Add(new sdlist(currentChildFile.Name, "/Resources/Assets/File_Types/csv.png"));
-                            if (currentChildFile.Name.EndsWith(".avi"))
-                                l.Add(new sdlist(currentChildFile.Name, "/Resources/Assets/File_Types/avi.png"));
-                            if (currentChildFile.Name.EndsWith(".7z"))
-                                l.Add(new sdlist(currentChildFile.Name, "/Resources/Assets/File_Types/7z.png"));
+                            progFileSource.Text = item.Name;
+                            progCurrentSize.Text = clipboard.IndexOf(item).ToString();
+                            var tb = item.CopyAsync(CurrentFolder, item.Name, NameCollisionOption.GenerateUniqueName);
+                            tb.Completed += async (i, s) =>
+                            {
+                                await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, delegate
+                                {
+                                    ProgInfoView.Visibility = Visibility.Collapsed;
+                                    ProgressDialog.Visibility = Visibility.Collapsed;
+                                });
+                            };
                         }
+                        GetFilesAndFolder(CurrentFolder);
+                    }
+                    catch (Exception ex)
+                    {
+                        AI("Error copying file", ex.Message);
                     }
                 }
             }
-            sdlists.ItemsSource = l;
         }
 
-        #endregion
-
-        #region AppBarButtons
-
-
-        void NewFolder_Click(object sender, EventArgs e)
+        #region InternetBrowser
+        private void Browser(object sender, RoutedEventArgs e)
         {
-            l.Add(new sdlist("New Folder", "/Resources/Assets/Images/folder.png"));
-            sdlists.ItemsSource = l;
+            WebBrowser.Visibility = Visibility.Visible;
         }
-
-        private void MultiSelect_Click(object sender, EventArgs e)
+        private void Button_Click(object sender, RoutedEventArgs e)
         {
-            if (sdlists.IsSelectionEnabled == false)
+            try
             {
-                sdlists.IsSelectionEnabled = true;
+                webView.Navigate(new Uri(webAddressBar.Text));
             }
-            if (sdlists.IsSelectionEnabled == true)
+            catch
             {
-                sdlists.IsSelectionEnabled = false;
+                webView.Navigate(new Uri("https://www.google.com/"));
             }
         }
-
-        private void Settings_Click(object sender, EventArgs e)
+        #endregion
+        #region FileShare
+        private void ShareContent(object sender, RoutedEventArgs e)
         {
-            NavigationService.Navigate(new Uri(SETTINGS_PAGE_URI, UriKind.Relative));
+            DataTransferManager dataTransferManager = DataTransferManager.GetForCurrentView();
+            dataTransferManager.DataRequested += new TypedEventHandler<DataTransferManager, DataRequestedEventArgs>(ShareStorageItemsHandler);
+            // If the user clicks the share button, invoke the share flow programatically.
+            DataTransferManager.ShowShareUI();
         }
-        
-
-        #endregion
-
 
+        private void ShareStorageItemsHandler(DataTransferManager sender, DataRequestedEventArgs e)
+        {
+            DataRequest request = e.Request;
+            request.Data.Properties.Title = "File360";
+            request.Data.Properties.Description = "files & folders";
 
-        #region BackButtonControl
+            // Because we are making async calls in the DataRequested event handler,
+            // we need to get the deferral first.
+            DataRequestDeferral deferral = request.GetDeferral();
 
-        protected override void OnBackKeyPress(CancelEventArgs e)
-        {
-            if (textBlock.Text == null)
-            {
-                e.Cancel = false;
-            } 
-            if (textBlock.Text != null)
-            {
-                l.Clear();
-                StateHelper();
-                btns = null;
-                e.Cancel = true;
-                sd.Text = "sdcard";
-            }
-            if (sdlists.IsSelectionEnabled == false)
-            {
-                e.Cancel = false;
-            }
-            if (sdlists.IsSelectionEnabled == true)
+            // Make sure we always call Complete on the deferral.
+            try
             {
-                sdlists.IsSelectionEnabled = false;
-                e.Cancel = true;
-            }
-        }
 
-        #endregion
 
+                var sdl = SDGridView.SelectedItems;
+                foreach (var sdli in sdl)
+                {
+                    try
+                    {
+                        var si = (sdlist)sdli;
+                        SelectedItems.Add(Items.ElementAt(sd.IndexOf(si)));
+                    }
+                    catch (Exception ex)
+                    {
+                        ShowStatus(ex.Message);
+                    }
+                }
 
-        #region HiddenVault
-        private void vault_button_DoubleTap(object sender, System.Windows.Input.GestureEventArgs e)
-        {
-            if ((string)appSettings["Passer"] == "On")
-            {
-                pb = new TextBox();
-                pb.Background = (SolidColorBrush)Resources["PhoneBackgroundBrush"];
-                pb.Foreground = (SolidColorBrush)Resources["PhoneForegroundBrush"];
-                pb.BorderBrush = (SolidColorBrush)Resources["PhoneBackgroundBrush"];
-                pb.Height = 70;
-                pb.Width = 356;
-                pb.Margin = new Thickness(124, 0, 0, 625);
-                pb.InputScope = new InputScope { Names = { new InputScopeName { NameValue = InputScopeNameValue.Number } } };
-                pb.LostFocus += pb_LostFocus;
-                pb.GotFocus += pb_GotFocus;
-                LayoutRoot.Children.Add(pb);
-                pb.Focus();
-                pb.TextChanged += PChanged;
+                request.Data.SetStorageItems(SelectedItems);
             }
-
-            if ((string)appSettings["Passer"] == "Off")
+            finally
             {
-                NavigationService.Navigate(new Uri(VAULT_PAGE_URI, UriKind.Relative));
+                deferral.Complete();
             }
         }
+        #endregion
 
-        private void PChanged(object sender, TextChangedEventArgs e)
+        private async void DeleteThisFolder(object sender, RoutedEventArgs e)
         {
-            if (pb.Text == (string)appSettings["PasswordValue"])
-            {
-                LayoutRoot.Children.Remove(pb);
-                NavigationService.Navigate(new Uri(VAULT_PAGE_URI, UriKind.Relative));
-            }
+            int index = CurrentFolder.Path.LastIndexOf(CurrentFolder.Name);
+            var sf = await StorageFolder.GetFolderFromPathAsync(CurrentFolder.Path.Remove(index));
+            await CurrentFolder.DeleteAsync();
+            GetFilesAndFolder(sf);
+            headerText.Text = CurrentFolder.Name;
+            this.Addresser.RemoveLast();
         }
-        void pb_GotFocus(object sender, RoutedEventArgs e)
+
+        private async void PersonalStorageEnumerator(object sender, RoutedEventArgs e)
         {
-            pb.Background = (SolidColorBrush)Resources["PhoneBackgroundBrush"];
-            pb.Foreground = (SolidColorBrush)Resources["PhoneForegroundBrush"];
-            pb.MaxLength = 5;
-            pb.BorderBrush = (SolidColorBrush)Resources["PhoneBackgroundBrush"];
-            pb.TextAlignment = TextAlignment.Center;
+            var HomeFolderP = ApplicationData.Current.LocalFolder;
+            var HomeFolder = await HomeFolderP.CreateFolderAsync("Home", CreationCollisionOption.OpenIfExists);
+            GetFilesAndFolder(HomeFolder);
+            this.Addresser.Reset();
+            headerText.Text = "Home";
+            RootFolder.Text = "|";
         }
 
-        private void pb_LostFocus(object sender, RoutedEventArgs e)
+        private void NowPlaying(object sender, RoutedEventArgs e)
         {
-            LayoutRoot.Children.Remove(pb);
+            MusicMenuClick();
         }
 
-        #endregion
-
-        #region LateralMenu
-        private void OpenClose_Left(object sender, RoutedEventArgs e)
+        private async void PreviousFolder(object sender, RoutedEventArgs e)
         {
-            var left = Canvas.GetLeft(CanvasRoot);
-            if (left > -100)
+            if (!this.Addresser.Root)
             {
-                ApplicationBar.IsVisible = true;
-                MoveViewWindow(-320);
-                Blurer.Visibility = System.Windows.Visibility.Collapsed;
+                try
+                {
+                    int curFoldCharNm = CurrentFolder.Path.LastIndexOf(CurrentFolder.Name);
+                    StorageFolder sf = await StorageFolder.GetFolderFromPathAsync(CurrentFolder.Path.Remove(curFoldCharNm));
+                    this.Addresser.RemoveLast();
+                    GetFilesAndFolder(sf);
+                }
+                catch { }
             }
             else
             {
-                ApplicationBar.IsVisible = false;
-                MoveViewWindow(0);
-                Blurer.Visibility = System.Windows.Visibility.Visible;
+                SideMenu.OpenDrawer();
             }
         }
 
-        private void OpenClose_Right(object sender, RoutedEventArgs e)
+        #endregion
+
+        private void password_rect_Tapped(object sender, TappedRoutedEventArgs e)
         {
-            var left = Canvas.GetLeft(CanvasRoot);
-            if (left > -350)
-            {
-                ApplicationBar.IsVisible = false;
-                MoveViewWindow(-680);
-                Blurer.Visibility = System.Windows.Visibility.Visible;
-            }
-            else
-            {
-                ApplicationBar.IsVisible = true;
-                MoveViewWindow(-320);
-                Blurer.Visibility = System.Windows.Visibility.Collapsed;
-            }
+            OpenDialog(1);
         }
 
-        void MoveViewWindow(double left)
+
+        //#region Bluetooth
+        //private async void OpenBluetoothSettings(object sender, RoutedEventArgs e)
+        //{
+        //    await Windows.System.Launcher.LaunchUriAsync(new Uri("ms-settings-bluetooth:"));
+        //}
+        //#endregion
+
+        #region HelpMenu
+        private void HelpOpen(object sender, RoutedEventArgs e)
         {
-            if (left == -320)
-                ApplicationBar.IsVisible = true;
-            else
-                ApplicationBar.IsVisible = false;
-            ((Storyboard)canvas.Resources["moveAnimation"]).SkipToFill();
-            ((DoubleAnimation)((Storyboard)canvas.Resources["moveAnimation"]).Children[0]).To = left;
-            ((Storyboard)canvas.Resources["moveAnimation"]).Begin();
+            OpenDialog(0);
         }
 
-        private void canvas_ManipulationDelta(object sender, ManipulationDeltaEventArgs e)
+        private void HelpPageClose(object sender, RoutedEventArgs e)
         {
-            if (e.DeltaManipulation.Translation.X != 0)
-                Canvas.SetLeft(CanvasRoot, Math.Min(Math.Max(-680, Canvas.GetLeft(CanvasRoot) + e.DeltaManipulation.Translation.X), 0));
+            CloseDialog(0);
         }
+        #endregion
+
 
-        double initialPosition;
-        bool _viewMoved = false;
-        private void canvas_ManipulationStarted(object sender, ManipulationStartedEventArgs e)
+        #region FTP
+        private void OpenFTP(object sender, RoutedEventArgs e)
         {
-            _viewMoved = false;
-            initialPosition = Canvas.GetLeft(CanvasRoot);
+            FTPOpen.Begin();
+            FTPActive.Begin();
         }
-
-        private void canvas_ManipulationCompleted(object sender, ManipulationCompletedEventArgs e)
+        #endregion
+        #region Music
+        private void musicToggle_Checked(object sender, RoutedEventArgs e)
         {
-            var left = Canvas.GetLeft(CanvasRoot);
-            if (_viewMoved)
-                return;
-            if (Math.Abs(initialPosition - left) < 100)
-            {
-                //bouncing back
-                MoveViewWindow(initialPosition);
-                return;
-            }
-            //change of state
-            if (initialPosition - left > 0)
-            {
-                //slide to the left
-                if (initialPosition > -320)
-                    MoveViewWindow(-320);
-                else
-                    MoveViewWindow(-680);
-            }
-            else
-            {
-                //slide to the right
-                if (initialPosition < -320)
-                    MoveViewWindow(-320);
-                else
-                    MoveViewWindow(0);
-            }
+            settings.Values["musicPlayer"] = "1";
+        }
+        private void musicToggle_Unchecked(object sender, RoutedEventArgs e)
+        {
+            settings.Values["musicPlayer"] = "0";
+        }
 
+        private void musThumbnailToggle_Checked(object sender, RoutedEventArgs e)
+        {
+            settings.Values["musThumbnail"] = "1";
         }
 
+        private void musThumbnailToggle_Unchecked(object sender, RoutedEventArgs e)
+        {
+            settings.Values["musThumbnail"] = "0";
+        }
         #endregion
+        #region Videos
+        private void videosToggle_Checked(object sender, RoutedEventArgs e)
+        {
+            settings.Values["videosPlayer"] = "1";
+        }
+        private void videosToggle_Unchecked(object sender, RoutedEventArgs e)
+        {
+            settings.Values["videosPlayer"] = "0";
+        }
+        private void vidThumbnailToggle_Checked(object sender, RoutedEventArgs e)
+        {
+            settings.Values["vidThumbnail"] = "1";
+        }
 
-        private void downloads_Tap(object sender, System.Windows.Input.GestureEventArgs e)
+        private void vidThumbnailToggle_Unchecked(object sender, RoutedEventArgs e)
         {
-            sd.Text = "downloads";
-            textBlock.Text = "downloads";
-            sdcard_menu.Background = null;
-            l.Clear();
-            List<AlphaKeyGroup<sdlist>> DataSource = AlphaKeyGroup<sdlist>.CreateGroups(l, System.Threading.Thread.CurrentThread.CurrentUICulture, (sdlist s) => { return s.Name; }, true);
-            sdlists.ItemsSource = DataSource;
-            MoveViewWindow(-320);
-            dl.Fill = App.Current.Resources["PhoneAccentBrush"] as SolidColorBrush;
-            rect_above.Fill = App.Current.Resources["PhoneAccentBrush"] as SolidColorBrush;
-            pl.Fill = null;
-            Blurer.Visibility = System.Windows.Visibility.Collapsed;
+            settings.Values["vidThumbnail"] = "0";
         }
 
-        private void sdcard_menu_Tap(object sender, System.Windows.Input.GestureEventArgs e)
+        #endregion
+        #region Ebooks
+        private void ebookToggle_Checked(object sender, RoutedEventArgs e)
+        {
+            settings.Values["ebookViewer"] = "1";
+        }
+        private void ebookToggle_Unchecked(object sender, RoutedEventArgs e)
+        {
+            settings.Values["ebookViewer"] = "0";
+        }
+        #endregion
+        #region Pictures
+        private void picturesToggle_Checked(object sender, RoutedEventArgs e)
         {
-            sd.Text = "sdcard";
-            textBlock.Text = null;
-            l.Clear();
-            StateHelper();
-            MoveViewWindow(-320);
-            //HomeBrush.ImageSource = new BitmapImage(new Uri("pack://application:/Toolkit.Content/home.png", UriKind.Absolute));
-            pl.Fill = null;
-            dl.Fill = null;
-            oneFill.Fill = null;
-            sdcard_menu.Background = App.Current.Resources["PhoneAccentBrush"] as SolidColorBrush;
-            rect_above.Fill = null;
-            Blurer.Visibility = System.Windows.Visibility.Collapsed;
+            settings.Values["picturesPlayer"] = "1";
         }
 
-        public void WallpaperChanger(BitmapImage bitm)
+        private void picturesToggle_Unchecked(object sender, RoutedEventArgs e)
         {
-            ImageBrush im = new ImageBrush();
-            im.ImageSource = bitm;
-            ApplyGaussianFilter(im.ImageSource);
+            settings.Values["picturesPlayer"] = "0";
         }
-        
-        public void ApplyGaussianFilter(ImageSource image)
+
+        private void picThumbnailToggle_Checked(object sender, RoutedEventArgs e)
         {
-            ImageApply(image);
+            settings.Values["picThumbnail"] = "1";
         }
 
-        public void ImageApply(ImageSource imt)
+        private void picThumbnailToggle_Unchecked(object sender, RoutedEventArgs e)
         {
-            ImageBrush im = new ImageBrush();
-            im.Stretch = Stretch.UniformToFill;
-            im.ImageSource = imt;
-            SideBar.Background = im;
+            settings.Values["picThumbnail"] = "0";
         }
-        #region Music
+        #endregion
 
-        public void MusicStateCreator()
+        #region DialogOpenClose
+        public void OpenDialog(int dialogNo)
         {
-            int trackno = 0;
-            try
-            {
-                l.Clear();
-                ml.Clear();
-                using (var library = new MediaLibrary())
-                {
-                    SongCollection songs = library.Songs;
-                    foreach (Song song in songs)
-                    {
-                        ml.Add(new musiclist((song.Name).ToString(), (song.Album).ToString(), (song.Artist).ToString(), (trackno+1).ToString()));
-                    }
-                    musicLists.ItemsSource = ml;
-                    sdlists.ItemsSource = ml;
-                }
-            }
-            catch (ArgumentOutOfRangeException)
-            {
-                MessageBox.Show("There are no songs in your phone...");
-            }
-            catch (InvalidOperationException iop)
+            ProgressDialog.Visibility = Visibility.Visible;
+            switch(dialogNo)
             {
-                MessageBox.Show(iop.ToString());
+                case 0:
+                    SubFrameGrid.Visibility = Visibility.Visible;
+                    SubFrame.Navigate(typeof(HelpPage));
+                    SubFrameHeader.Text = "HELP";
+                    break;
+
+                case 1:
+                    SubFrameGrid.Visibility = Visibility.Visible;
+                    SubFrame.Navigate(typeof(VaultPage));
+                    SubFrameHeader.Text = "VAULT";
+                    break;
+                case 2:
+                    FileMoveDialog.Visibility = Visibility.Visible;
+                    break;
+                case 3:
+                    ProgInfoView.Visibility = Visibility.Visible;
+                    break;
+
             }
         }
 
-        private void Music_Tap(object sender, System.Windows.Input.GestureEventArgs e)
+
+        public void CloseDialog(int dialogNo)
         {
-            int trackno = 0;
-            //ImageBrush ib = new ImageBrush();
-            //ib.ImageSource = new BitmapImage(new Uri("pack://application:/Resources/Assets/Images/MusicBar.png", UriKind.Absolute));
-            //homeButton.OpacityMask = ib;
-            sd.Text = "music";
-            pl.Fill = null;
-            dl.Fill = null;
-            rect_above.Fill = null;
-            oneFill.Fill = null;
-            sdcard_menu.Background = null;
-            Blurer.Visibility = System.Windows.Visibility.Collapsed;
-            try
-            {
-                l.Clear();
-                ml.Clear();
-                using (var library = new MediaLibrary())
-                {
-                SongCollection songs = library.Songs;
-                foreach (Song song in songs)
-                {
-                    ml.Add(new musiclist((song.Name).ToString(), (song.Artist).ToString(), (song.Album).ToString(), (trackno+1).ToString()));
-                }
-                musicLists.ItemsSource = ml;
-                sdlists.ItemsSource = ml;
-                }
-            }
-            catch (ArgumentOutOfRangeException)
+            ProgressDialog.Visibility = Visibility.Collapsed ;
+            switch (dialogNo)
             {
-                MessageBox.Show("There are no songs in your phone...");
+                case 0:
+                    SubFrameGrid.Visibility = Visibility.Collapsed;
+                    break;
+
+                case 1:
+                    SubFrameGrid.Visibility = Visibility.Collapsed;
+                    break;
+                case 2:
+                    FileMoveDialog.Visibility = Visibility.Collapsed;
+                    break;
+                case 3:
+                    ProgInfoView.Visibility = Visibility.Collapsed;
+                    break;
+
             }
         }
+        #endregion
 
+        private void CloseDialog(object sender, RoutedEventArgs e)
+        {
+            CloseDialog(2);
+        }
 
-        public void txtB_Tap(object sender, System.Windows.Input.GestureEventArgs e)
+        private void musicSlider_ManipulationStarted(object sender, ManipulationStartedRoutedEventArgs e)
         {
-            TextBlock txt = (TextBlock)sender;
-            string txts = (txt.Name).ToString();
-            int index = int.Parse(txts);
-            MainPage mp = new MainPage();
-            using (var library = new MediaLibrary())
-            {
-                SongCollection songs = library.Songs;
-                Song song = songs[index];
-                try
-                {
-                    FrameworkDispatcher.Update();
-                    MediaPlayer.Play(song);
-                }
-                catch (InvalidOperationException)
-                {
-                    MediaPlayer.Play(songs[2]);
-                }
-            }
+            ((Storyboard)Resources["SeekOpen"]).Begin();
         }
 
-        #endregion
-        async public void VideoLister(object sender, System.Windows.Input.GestureEventArgs e)
+        private void musicSlider_ManipulationDelta(object sender, ManipulationDeltaRoutedEventArgs e)
         {
-            pl.Fill = App.Current.Resources["PhoneAccentBrush"] as SolidColorBrush;
-            dl.Fill = null;
-            rect_above.Fill = null;
-            sdcard_menu.Background = null;
-            oneFill.Fill = null;
-            sd.Text = "videos";
-            Blurer.Visibility = System.Windows.Visibility.Collapsed;
-            //HomeBrush.ImageSource = new BitmapImage(new Uri("pack://application:/Resources/Assets/Images/Video.png", UriKind.Absolute));
-            ExternalStorageDevice sdCard = (await ExternalStorage.GetExternalStorageDevicesAsync()).FirstOrDefault();
-            if (sdCard != null)
+            int m = (int)(e.Delta.Translation.X *0.4);
+            if (m < 1 && m> -1)
+                return;
+            if (mediaPlayer.CanSeek && m > 0)
             {
-                ExternalStorageFolder sdrootFolder = sdCard.RootFolder;
-                temp = sdrootFolder;
-                var folder = await sdrootFolder.GetFoldersAsync();
-                l.Clear();
-                foreach (ExternalStorageFolder currentChildFolder in folder)
-                    {
-                        var files = await currentChildFolder.GetFilesAsync();
-                        foreach (ExternalStorageFile currentChildFile in files)
-                        {
-                            if (currentChildFile.Name.EndsWith(".avi"))
-                                    l.Add(new sdlist(currentChildFile.Name, "/Resources/Assets/File_Types/avi.png"));
-                            if (currentChildFile.Name.EndsWith(".mkv"))
-                                l.Add(new sdlist(currentChildFile.Name, "/Resources/Assets/File_Types/mkv.png"));
-                        }
-                        var folderss = await currentChildFolder.GetFoldersAsync();
-                        foreach (ExternalStorageFolder currentChildFolder2 in folderss)
-                        {
-                            var filess = await currentChildFolder2.GetFilesAsync();
-                            foreach (ExternalStorageFile currentChildFile in filess)
-                            {
-                                if (currentChildFile.Name.EndsWith(".avi"))
-                                    l.Add(new sdlist(currentChildFile.Name, "/Resources/Assets/File_Types/avi.png"));
-                                if (currentChildFile.Name.EndsWith(".mkv"))
-                                    l.Add(new sdlist(currentChildFile.Name, "/Resources/Assets/File_Types/mkv.png"));
-                            }
-                        }
-
-                    }
-                
+                mediaPlayer.Position.Add(new TimeSpan(0, 0, m));
             }
-
-            else
+            else if(mediaPlayer.CanSeek)
             {
-                nosd.Visibility = System.Windows.Visibility.Visible;
+                mediaPlayer.Position.Subtract(new TimeSpan(0, 0, m));
             }
-            sdlists.ItemsSource = l;
         }
 
-        private void oneFill_Tap(object sender, System.Windows.Input.GestureEventArgs e)
+        private void musicSlider_ManipulationCompleted(object sender, ManipulationCompletedRoutedEventArgs e)
         {
-            oneFill.Fill = App.Current.Resources["PhoneAccentBrush"] as SolidColorBrush;
-            pl.Fill = null;
-            dl.Fill = null;
-            rect_above.Fill = null;
-            Blurer.Visibility = System.Windows.Visibility.Collapsed;
+            ((Storyboard)Resources["SeekClose"]).Begin();
         }
 
-        async private void SearchModule_Click(object sender, RoutedEventArgs e)
+        private void StopFTP(object sender, RoutedEventArgs e)
         {
-            if (searchBox.Text != null)
+            FTPOpen.Stop();
+            FTPActive.Stop();
+        }
+
+        private void searchBox_TextChanged(object sender, TextChangedEventArgs e)
+        {
+            try
             {
-                ExternalStorageDevice sdCard = (await ExternalStorage.GetExternalStorageDevicesAsync()).FirstOrDefault();
-                ExternalStorageFolder sdrootFolder = sdCard.RootFolder;
-                temp = sdrootFolder;
-                var folder = await sdrootFolder.GetFoldersAsync();
-                foreach (ExternalStorageFolder currentChildFolder in folder)
-                {
-                    var files = await currentChildFolder.GetFilesAsync();
-                    foreach (ExternalStorageFile currentChildFile in files)
-                    {
-                        l.Clear();
-                        if (currentChildFile.Name.EndsWith(searchBox.Text))
-                            l.Add(new sdlist(searchBox.Text, "/Resources/Assets/Images/folder.png"));
-                    }
-                }
-                sdlists.ItemsSource = l;
-                
+                sd.Where(x => x.Name == searchBox.Text);
+            }
+            catch (ArgumentNullException)
+            {
+                sd.Clear();
             }
-
         }
     }
 } 
\ No newline at end of file
diff --git a/File360/MarqueeText.xaml b/File360/MarqueeText.xaml
@@ -0,0 +1,13 @@
+<UserControl
+    x:Class="File360.MarqueeText"
+    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+    xmlns:local="using:File360"
+    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+    mc:Ignorable="d">
+    
+    <Grid>
+
+    </Grid>
+</UserControl>
diff --git a/File360/MarqueeText.xaml.cs b/File360/MarqueeText.xaml.cs
@@ -0,0 +1,27 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Runtime.InteropServices.WindowsRuntime;
+using Windows.Foundation;
+using Windows.Foundation.Collections;
+using Windows.UI.Xaml;
+using Windows.UI.Xaml.Controls;
+using Windows.UI.Xaml.Controls.Primitives;
+using Windows.UI.Xaml.Data;
+using Windows.UI.Xaml.Input;
+using Windows.UI.Xaml.Media;
+using Windows.UI.Xaml.Navigation;
+
+// The User Control item template is documented at http://go.microsoft.com/fwlink/?LinkId=234236
+
+namespace File360
+{
+    public sealed partial class MarqueeText : UserControl
+    {
+        public MarqueeText()
+        {
+            this.InitializeComponent();
+        }
+    }
+}
diff --git a/File360/MessageBox.xaml b/File360/MessageBox.xaml
@@ -0,0 +1,50 @@
+<UserControl
+    x:Class="File360.MessageBox"
+    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+    xmlns:local="using:File360"
+    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+    mc:Ignorable="d">
+
+    <Grid x:Name="AlphaGrid">
+        <Grid.Background>
+            <SolidColorBrush Color="#19000000"/>
+        </Grid.Background>
+        <StackPanel x:Name="LayoutRoot"
+                    MinHeight="100"
+                    MaxHeight="200"
+                    MinWidth="300"
+                    MaxWidth="450"
+                    Background="{StaticResource PhoneChromeBrush}" 
+                    HorizontalAlignment="Center" 
+                    VerticalAlignment="Center">
+            <Grid>
+                <Grid.RowDefinitions>
+                    <RowDefinition Height="2*"/>
+                    <RowDefinition Height="50*"/>
+                    <RowDefinition Height="2*"/>
+                </Grid.RowDefinitions>
+                <Grid.ColumnDefinitions>
+                    <ColumnDefinition Width="2*"/>
+                    <ColumnDefinition Width="50*"/>
+                    <ColumnDefinition Width="2*"/>
+                </Grid.ColumnDefinitions>
+                <StackPanel Grid.Row="1" Grid.Column="1" Margin="10,0">
+                    <TextBlock x:Name="heading" Foreground="{StaticResource PhoneForegroundBrush}" Text="ARE YOU SURE?" FontFamily="Segoe UI" FontSize="20" FontWeight="Bold" HorizontalAlignment="Left"/>
+                    <Rectangle MinHeight="10"/>
+                    <TextBlock x:Name="dialogDetails" Grid.Row="1" TextWrapping="Wrap" Text="Random Text and Messages Detailed about this operation comes here." FontFamily="Segoe WP Light" TextAlignment="Center" FontSize="20"/>
+                    <Rectangle MinHeight="15"/>
+                </StackPanel>
+            </Grid>
+            <Grid>
+                <Grid.ColumnDefinitions>
+                    <ColumnDefinition Width="4*"/>
+                    <ColumnDefinition Width="10*"/>
+                </Grid.ColumnDefinitions>
+                <Button MinWidth="0" x:Name="leftButton" Style="{StaticResource DialogBoxButton}" Content="&lt;" FontFamily="Assets/Font/iconfont.ttf#iconfont" Click="leftButton_Click" Margin="0" VerticalAlignment="Stretch" BorderBrush="{x:Null}" Background="{ThemeResource PhoneBackgroundBrush}" HorizontalAlignment="Stretch"/>
+                <Button x:Name="rightButton" Grid.Column="1" Background="{StaticResource PhoneAccentBrush}" BorderBrush="{x:Null}" HorizontalAlignment="Stretch" Click="rightButton_Click" Style="{StaticResource DialogBoxButton}" Content="K" FontFamily="Assets/Font/iconfont.ttf#iconfont" Foreground="White"/>
+            </Grid>
+        </StackPanel>
+    </Grid>
+</UserControl>
diff --git a/File360/MessageBox.xaml.cs b/File360/MessageBox.xaml.cs
@@ -0,0 +1,97 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Runtime.InteropServices.WindowsRuntime;
+using Windows.Foundation;
+using Windows.Foundation.Collections;
+using Windows.UI.Xaml;
+using Windows.UI.Xaml.Controls;
+using Windows.UI.Xaml.Controls.Primitives;
+using Windows.UI.Xaml.Data;
+using Windows.UI.Xaml.Input;
+using Windows.UI.Xaml.Media;
+using Windows.UI.Xaml.Navigation;
+
+// The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkID=390556
+
+namespace File360
+{
+    public sealed partial class MessageBox : UserControl
+    {
+        public MessageBox()
+        {
+            InitializeComponent();
+            heading.FontSize = Window.Current.Bounds.Width / 20;
+            dialogDetails.FontSize = Window.Current.Bounds.Width / 30;
+            leftButton.FontSize = Window.Current.Bounds.Width / 35;
+        }
+        public string HeadingText
+        {
+            get { return heading.Text; }
+            set { heading.Text = value; }
+        }
+        public string ContentText
+        {
+            get { return dialogDetails.Text; }
+            set { dialogDetails.Text = value; }
+        }
+        public string LeftButtonContent
+        {
+            get { return leftButton.Content.ToString(); }
+            set { leftButton.Content = value; }
+        }
+        public string RightButtonContent
+        {
+            get { return rightButton.Content.ToString(); }
+            set { rightButton.Content = value; }
+        }
+        public RoutedEventHandler LeftButtonHandler
+        {
+            get { return leftButton_Click; }
+            set { leftButton.Click += value; }
+        }
+
+        public RoutedEventHandler RightButtonHandler
+        {
+            get { return rightButton_Click; }
+            set { rightButton.Click += value; }
+        }
+
+
+        private void leftButton_Click(object sender, RoutedEventArgs e)
+        {
+            IsOpen = false;
+        }
+        private void rightButton_Click(object sender, RoutedEventArgs e)
+        {
+
+        }
+
+        public bool IsOpen
+        {
+            get
+            {
+                if (Height == 0)
+                {
+                    return false;
+                }
+                else
+                {
+                    return true;
+                }
+            }
+            set
+            {
+                if (value == true)
+                {
+                    Height = Window.Current.Bounds.Height;
+                }
+                if (value == false)
+                {
+                    Height = 0;
+                }
+            }
+        }
+    }
+}
diff --git a/File360/OccupyStack.cs b/File360/OccupyStack.cs
@@ -0,0 +1,34 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Windows.UI.Xaml;
+using Windows.UI.Xaml.Controls;
+
+namespace File360
+{
+    class OccupyStack : StackPanel
+    {
+        public OccupyStack()
+        {
+            foreach (Button but in Children)
+            {
+                but.Height = ((Grid)Parent).ActualHeight;
+                but.Width = ActualWidth / Children.Count;
+            }
+            SizeChanged += OccupyStack_SizeChanged;
+        }
+
+        private void OccupyStack_SizeChanged(object sender, Windows.UI.Xaml.SizeChangedEventArgs e)
+        {
+            Width = Window.Current.Bounds.Width;
+            UpdateLayout();
+            foreach (Button but in Children)
+            {
+                but.Height = ((Grid)Parent).ActualHeight;
+                but.Width = ActualWidth / Children.Count;
+            }
+        }
+    }
+}
diff --git a/File360/Package.appxmanifest b/File360/Package.appxmanifest
@@ -1,58 +1,46 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <Package xmlns="http://schemas.microsoft.com/appx/2010/manifest" xmlns:m2="http://schemas.microsoft.com/appx/2013/manifest" xmlns:m3="http://schemas.microsoft.com/appx/2014/manifest" xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest">
-
-  <Identity Name="c5e5323f-37ff-4a94-8835-ee041976b1b9"
-            Publisher="CN=Sri"
-            Version="1.0.0.0" />
-
-  <mp:PhoneIdentity PhoneProductId="6db737b7-6d8e-4901-86a4-3110a717c72f" PhonePublisherId="adf37227-c10c-460b-a659-59745477b5c6"/>
-
+  <Identity Name="a7ce2a91-b87b-4cc7-b794-5bf854343085" Publisher="CN=Puli Bharatvaj" Version="1.0.0.0" />
+  <mp:PhoneIdentity PhoneProductId="a7ce2a91-b87b-4cc7-b794-5bf854343085" PhonePublisherId="00000000-0000-0000-0000-000000000000" />
   <Properties>
     <DisplayName>File360</DisplayName>
-    <PublisherDisplayName>Sri</PublisherDisplayName>
+    <PublisherDisplayName>Puli Bharatvaj</PublisherDisplayName>
     <Logo>Assets\StoreLogo.png</Logo>
   </Properties>
-
   <Prerequisites>
     <OSMinVersion>6.3.1</OSMinVersion>
     <OSMaxVersionTested>6.3.1</OSMaxVersionTested>
   </Prerequisites>
-
   <Resources>
-    <Resource Language="x-generate"/>
+    <Resource Language="x-generate" />
   </Resources>
-
   <Applications>
-    <Application Id="x6db737b7y6d8ey4901y86a4y3110a717c72fx"
-        Executable="AGHost.exe"
-        EntryPoint="MainPage.xaml">
-      <m3:VisualElements
-          DisplayName="File360"
-          Square150x150Logo="Assets\SquareTile150x150.png"
-          Square44x44Logo="Assets\Logo.png"
-          Description="File360"
-          ForegroundText="light"
-          BackgroundColor="#464646">
-        <m3:DefaultTile Square71x71Logo="Assets\SquareTile71x71.png"/>
-        <m3:SplashScreen Image="SplashScreenImage.jpg" />
+    <Application Id="App" Executable="$targetnametoken$.exe" EntryPoint="File360.App">
+      <m3:VisualElements DisplayName="File360" Square150x150Logo="Assets\Logo.png" Square44x44Logo="Assets\SmallLogo.png" Description="File360" ForegroundText="light" BackgroundColor="transparent">
+        <m3:DefaultTile Wide310x150Logo="Assets\WideLogo.png" Square71x71Logo="Assets\Square71x71Logo.png">
+        </m3:DefaultTile>
+        <m3:SplashScreen Image="Assets\SplashScreen.png" />
       </m3:VisualElements>
       <Extensions>
-        <Extension Category="windows.backgroundTasks" EntryPoint="AgHost.BackgroundTask">
+        <Extension Category="windows.fileOpenPicker">
+          <FileOpenPicker>
+            <SupportedFileTypes>
+              <SupportsAnyFileType />
+            </SupportedFileTypes>
+          </FileOpenPicker>
+        </Extension>
+        <Extension Category="windows.backgroundTasks" EntryPoint="File360.app">
           <BackgroundTasks>
-          <Task Type="systemEvent" />
+            <Task Type="audio" />
           </BackgroundTasks>
         </Extension>
       </Extensions>
     </Application>
   </Applications>
   <Capabilities>
+    <Capability Name="videosLibrary" />
+    <Capability Name="removableStorage" />
+    <Capability Name="musicLibrary" />
+    <Capability Name="picturesLibrary" />
   </Capabilities>
-  <Extensions>
-    <Extension Category="windows.activatableClass.inProcessServer">
-      <InProcessServer>
-        <Path>AgHostSvcs.dll</Path>
-        <ActivatableClass ActivatableClassId="AgHost.BackgroundTask" ThreadingModel="both" />
-      </InProcessServer>
-    </Extension>
-  </Extensions>
 </Package> 
\ No newline at end of file
diff --git a/File360/Properties/AssemblyInfo.cs b/File360/Properties/AssemblyInfo.cs
@@ -1,28 +1,19 @@
 using System.Reflection;
 using System.Runtime.CompilerServices;
 using System.Runtime.InteropServices;
-using System.Resources;
 
 // General Information about an assembly is controlled through the following 
 // set of attributes. Change these attribute values to modify the information
 // associated with an assembly.
 [assembly: AssemblyTitle("File360")]
-[assembly: AssemblyDescription("Best File Manager for Windows Phone 8.0")]
+[assembly: AssemblyDescription("")]
 [assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("AMI")]
+[assembly: AssemblyCompany("")]
 [assembly: AssemblyProduct("File360")]
 [assembly: AssemblyCopyright("Copyright ©  2015")]
-[assembly: AssemblyTrademark("AMI")]
+[assembly: AssemblyTrademark("")]
 [assembly: AssemblyCulture("")]
 
-// Setting ComVisible to false makes the types in this assembly not visible 
-// to COM components.  If you need to access a type in this assembly from 
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("9d7b1f07-3c45-4014-baca-2741880a5f97")]
-
 // Version information for an assembly consists of the following four values:
 //
 //      Major Version

@@ -30,8 +21,9 @@ using System.Resources;
 //      Build Number
 //      Revision
 //
-// You can specify all the values or you can default the Revision and Build Numbers 
+// You can specify all the values or you can default the Build and Revision Numbers 
 // by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
 [assembly: AssemblyVersion("1.0.0.0")]
 [assembly: AssemblyFileVersion("1.0.0.0")]
-[assembly: NeutralResourcesLanguageAttribute("en-US")]-
\ No newline at end of file
+[assembly: ComVisible(false)]+
\ No newline at end of file
diff --git a/File360/ReadMe.Coding4Fun.Toolkit.txt b/File360/ReadMe.Coding4Fun.Toolkit.txt
@@ -0,0 +1,8 @@
+Thanks for using the Coding4Fun Toolkit!
+
+Migration Notes:
+2.1.0 -> 2.1.1
+
+1) Added Windows Phone 8 SL Components removed in 2.0.8 (no new functionality added)
+2) Added David Anson's PlaceImage control to WinRT WP81 / Win81 
+3) Added ToastPrompt to WinRT Win81	+
\ No newline at end of file
diff --git a/File360/SelectorItemEx.cs b/File360/SelectorItemEx.cs
@@ -0,0 +1,60 @@
+using Windows.UI.Input;
+using Windows.UI.Xaml;
+using Windows.UI.Xaml.Controls;
+using Windows.UI.Xaml.Controls.Primitives;
+using Windows.UI.Xaml.Input;
+
+namespace File360
+{
+    public static class SelectorItemEx
+    {
+        public static bool GetToggleSelectedOnHold(SelectorItem item)
+        {
+            return (bool)item.GetValue(ToggleSelectedOnHoldProperty);
+        }
+
+        public static void SetToggleSelectedOnHold(SelectorItem item, bool value)
+        {
+            item.SetValue(ToggleSelectedOnHoldProperty, value);
+        }
+
+        public static readonly DependencyProperty ToggleSelectedOnHoldProperty =
+            DependencyProperty.RegisterAttached(
+              "ToggleSelectedOnHold",
+              typeof(bool),
+              typeof(SelectorItemEx),
+              new PropertyMetadata(
+                false,
+                ToggleSelectedOnHoldChanged));
+
+        private static void ToggleSelectedOnHoldChanged(DependencyObject o, DependencyPropertyChangedEventArgs e)
+        {
+            var item = o as SelectorItem;
+            if (item == null)
+                return;
+
+            var oldValue = (bool)e.OldValue;
+            var newValue = (bool)e.NewValue;
+
+            if (oldValue && !newValue)
+            {
+                item.Holding -= Item_Holding;
+            }
+            else if (newValue && !oldValue)
+            {
+                item.Holding += Item_Holding;
+            }
+        }
+
+        private static void Item_Holding(object sender, HoldingRoutedEventArgs e)
+        {
+            var item = sender as SelectorItem;
+            if (item == null)
+                return;
+
+
+            if (e.HoldingState == HoldingState.Started)
+                item.IsSelected = !item.IsSelected;
+        }
+    }
+}+
\ No newline at end of file
diff --git a/File360/SettingsPage.xaml b/File360/SettingsPage.xaml
@@ -1,44 +1,154 @@
-<phone:PhoneApplicationPage
+<Page
     x:Class="File360.SettingsPage"
-    xmlns:local="clr-namespace:File360"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
-    xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
-    xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
+    xmlns:local="using:File360"
     xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
     xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
-    FontFamily="{StaticResource PhoneFontFamilyNormal}"
-    FontSize="{StaticResource PhoneFontSizeNormal}"
-    Foreground="{StaticResource PhoneForegroundBrush}"
-    local:TiltEffect.IsTiltEnabled="True"
-    SupportedOrientations="Portrait" Orientation="Portrait"
-    mc:Ignorable="d"
-    shell:SystemTray.IsVisible="True">
+    mc:Ignorable="d">
 
-    <phone:PhoneApplicationPage.Resources>
-        <DataTemplate x:Name="SettingsItemTemplate">
-            <Grid Tap="SettingTap_Tap" x:Name="SettingTap">
-                <TextBlock x:Name="txtB" Margin="116,12,10,47" Tap="txtB_Tap" Foreground="{StaticResource PhoneForegroundBrush}" Text="{Binding SettingName}" FontSize="46"/>
-                <TextBlock x:Name="txtB2" Margin="116,86,10,20" Foreground="{StaticResource PhoneSubtleBrush}" Text="{Binding SettingDescription}" FontFamily="Portable User Interface"/>
-            <Ellipse HorizontalAlignment="Left" Height="77" Margin="12,28,0,0" Stroke="{x:Null}" VerticalAlignment="Top" Width="77">
-				<Ellipse.Fill>
-					<ImageBrush ImageSource="{Binding SettingPicture}"/>
-				</Ellipse.Fill>
-			</Ellipse>
-            </Grid>
-        </DataTemplate>
-        
-    </phone:PhoneApplicationPage.Resources>
-    
     <Grid>
-        <phone:Pivot HorizontalAlignment="Left" Height="768" Title="FILE360°" VerticalAlignment="Top" Width="480">
-        	<phone:PivotItem CacheMode="{x:Null}" Header="settings" Margin="0,28,-368,0" FontSize="24">
-                <phone:LongListSelector
-                    x:Name="SettingsList"
-                    ItemTemplate="{StaticResource SettingsItemTemplate}"
-                    IsGroupingEnabled="False" Margin="10,0"/>
-            </phone:PivotItem>
-        </phone:Pivot>
-    </Grid>
+        <Grid>
+            <Grid.Background>
+                <SolidColorBrush Color="{ThemeResource PhoneBackgroundColor}" Opacity="0.92"/>
+            </Grid.Background>
+            <Grid.RenderTransform>
+                <CompositeTransform/>
+            </Grid.RenderTransform>
+            <Grid.RowDefinitions>
+                <RowDefinition Height="Auto"/>
+                <RowDefinition Height="*"/>
+            </Grid.RowDefinitions>
+            <Button HorizontalContentAlignment="Left" Style="{StaticResource DefaultButton}" Click="GoBack" Margin="0" VerticalAlignment="Stretch" d:LayoutOverrides="Height, LeftPosition, RightPosition, TopPosition, BottomPosition" BorderThickness="0" HorizontalAlignment="Stretch"  FontSize="26.667" FontWeight="Thin">
+                <StackPanel Orientation="Horizontal">
+                    <TextBlock VerticalAlignment="Center" HorizontalAlignment="Left" TextAlignment="Left" FontSize="24" Text="g" FontFamily="Assets/Font/settingsfont.ttf#settingsfont" FontWeight="Thin" FontStretch="UltraCondensed"/>
+                    <TextBlock HorizontalAlignment="Left" 
+                   TextWrapping="Wrap" 
+                   Text="settings" 
+                   VerticalAlignment="Center"  
+                    FontWeight="Normal" Margin="5,0,0,0" TextLineBounds="TrimToCapHeight"/>
+                </StackPanel>
+            </Button>
+            <ScrollViewer Grid.Row="1">
+                <ScrollViewer.Background>
+                    <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0" Opacity="0.3">
+                        <GradientStop Color="Black" Offset="0"/>
+                        <GradientStop Color="#00000000" Offset="0.02"/>
+                    </LinearGradientBrush>
+                </ScrollViewer.Background>
+                <StackPanel Margin="10">
+                    <TextBlock Text="general" HorizontalAlignment="Center" Style="{StaticResource ComboBoxPlaceholderTextBlockStyle}" />
+                    <TextBlock Text="use built in viewer for" Style="{StaticResource ControlHeaderTextBlockStyle}"/>
+                    <StackPanel Orientation="Horizontal">
+                        <ToggleButton x:Name="musicToggle" Checked="musicToggle_Checked" Unchecked="musicToggle_Unchecked">
+                            <StackPanel>
+                                <TextBlock  HorizontalAlignment="Center" Text="b" FontFamily="Assets/Font/iconfont.ttf#iconfont"/>
+                                <TextBlock Text="music"/>
+                            </StackPanel>
+                        </ToggleButton>
+                        <ToggleButton x:Name="videosToggle" Checked="videosToggle_Checked" Unchecked="videosToggle_Unchecked">
+                            <StackPanel>
+                                <TextBlock  HorizontalAlignment="Center" Text=")" FontFamily="Assets/Font/iconfont.ttf#iconfont"/>
+                                <TextBlock Text="videos"/>
+                            </StackPanel>
+                        </ToggleButton>
+                        <ToggleButton Visibility="Collapsed" x:Name="ebookToggle" Checked="ebookToggle_Checked" Unchecked="ebookToggle_Unchecked">
+                            <StackPanel>
+                                <TextBlock  HorizontalAlignment="Center" Text="m" FontFamily="Assets/Font/iconfont.ttf#iconfont"/>
+                                <TextBlock Text="ebook"/>
+                            </StackPanel>
+                        </ToggleButton>
+                        <ToggleButton x:Name="picturesToggle" Checked="picturesToggle_Checked" Unchecked="picturesToggle_Unchecked">
+                            <StackPanel>
+                                <TextBlock  HorizontalAlignment="Center" Text="M" FontFamily="Assets/Font/iconfont.ttf#iconfont"/>
+                                <TextBlock Text="pictures"/>
+                            </StackPanel>
+                        </ToggleButton>
+                    </StackPanel>
+                    <TextBlock Text="show thumbnail for" Style="{StaticResource ControlHeaderTextBlockStyle}"/>
+                    <CheckBox Visibility="Collapsed" x:Name="musThumbnailToggle" Content="music" Checked="musThumbnailToggle_Checked" Unchecked="musThumbnailToggle_Unchecked" />
+                    <CheckBox x:Name="vidThumbnailToggle" Content="videos" Checked="vidThumbnailToggle_Checked" Unchecked="vidThumbnailToggle_Unchecked" />
+                    <CheckBox x:Name="picThumbnailToggle" Content="pictures" Checked="picThumbnailToggle_Checked" Unchecked="picThumbnailToggle_Unchecked" />
+                    <TextBlock Text="personalization" HorizontalAlignment="Center" Style="{StaticResource ComboBoxPlaceholderTextBlockStyle}" />
+                    <StackPanel>
+                        <!--<local:ColorPicker ColorSet="2" x:Name="folderColor" OptionName="folder" Foreground="Black" />
+                        <local:ColorPicker ColorSet="0" x:Name="accentColor" OptionName="app accent" />
+                        <local:ColorPicker ColorSet="1" x:Name="themeColor" OptionName="app theme" />-->
+                        <ToggleSwitch Header="use slideshow" Margin="0,5" Height="75"/>
+                        <TextBlock Text="folder view type" Style="{StaticResource ComboBoxPlaceholderTextBlockStyle}"/>
+                        <ComboBox x:Name="typeComboBox" SelectionChanged="FolderViewChanged">
+                            <ComboBoxItem>
+                                <StackPanel>
+                                    <TextBlock TextAlignment="Center" Text="c" FontFamily="Assets/Font/iconfont.ttf#iconfont" FontSize="29.333"/>
+                                    <TextBlock TextAlignment="Center" Text="list"  FontSize="21.333"/>
+                                </StackPanel>
+                            </ComboBoxItem>
+                            <ComboBoxItem>
+                                <StackPanel>
+                                    <TextBlock TextAlignment="Center" Text="N" FontFamily="Assets/Font/iconfont.ttf#iconfont" FontSize="24"/>
+                                    <TextBlock TextAlignment="Center" Text="grid" />
+                                </StackPanel>
+                            </ComboBoxItem>
+                        </ComboBox>
+                    </StackPanel>
+                    <Grid>
+                        <Button x:Name="button" HorizontalAlignment="Center" Style="{StaticResource DefaultButton}" RenderTransformOrigin="0.5,0.5" Click="OpenFTP">
+                            <Button.RenderTransform>
+                                <CompositeTransform/>
+                            </Button.RenderTransform>
+                            <Border CornerRadius="50" VerticalAlignment="Center" Background="{ThemeResource PhoneAccentBrush}">
+                                <TextBlock Margin="20" Text="ftp" HorizontalAlignment="Center" Style="{StaticResource ComboBoxPlaceholderTextBlockStyle}" />
+                            </Border>
+                        </Button>
+                        <Border x:Name="border" RenderTransformOrigin="0.5,0.5">
+                            <Border.RenderTransform>
+                                <CompositeTransform ScaleX="0" ScaleY="0" TranslateY="-30"/>
+                            </Border.RenderTransform>
+                            <StackPanel Margin="0,20" Background="{ThemeResource PhoneAccentBrush}">
+                                <TextBlock Text="Address" Style="{StaticResource ComboBoxPlaceholderTextBlockStyle}" />
+                                <TextBlock Margin="0,5" Text="192.162.1.103:23" FontSize="13.333"/>
+                            </StackPanel>
+                        </Border>
+                    </Grid>
+                    <Grid HorizontalAlignment="Center">
+                        <Grid.ColumnDefinitions>
+                            <ColumnDefinition Width="Auto"/>
+                            <ColumnDefinition Width="Auto"/>
+                        </Grid.ColumnDefinitions>
+                        <Button Margin="25,0" Style="{StaticResource DefaultButton}" HorizontalAlignment="Center" VerticalAlignment="Center" Click="OpenBluetoothSettings">
+                            <StackPanel Margin="0,25" HorizontalAlignment="Center" VerticalAlignment="Center">
+                                <TextBlock Text="b" FontSize="26.667" FontFamily="Assets/Font/settingsfont.ttf#settingsfont" HorizontalAlignment="Center" TextAlignment="Center" VerticalAlignment="Top" Margin="5,0,10,5" Foreground="{ThemeResource PhoneAccentBrush}" Opacity="0.95" LineStackingStrategy="MaxHeight" FontWeight="Thin"/>
+                                <TextBlock Text="bluetooth" FontSize="23.333"  FontWeight="Thin" HorizontalAlignment="Center"/>
+                                <TextBlock Text="configure bluetooth settings" HorizontalAlignment="Center"  FontSize="13"/>
+                            </StackPanel>
+                        </Button>
+                        <Button Margin="25,0" Style="{StaticResource DefaultButton}" Grid.Column="1"  HorizontalAlignment="Center" VerticalAlignment="Center" Click="HelpOpen">
+                            <StackPanel Margin="0,25" HorizontalAlignment="Center" VerticalAlignment="Center">
+                                <TextBlock Text="h" FontSize="26.667" FontFamily="Assets/Font/settingsfont.ttf#settingsfont" HorizontalAlignment="Center" TextAlignment="Center" VerticalAlignment="Top" Margin="5,0,10,5" Foreground="{ThemeResource PhoneAccentBrush}" Opacity="0.95" LineStackingStrategy="MaxHeight" FontWeight="Thin"/>
+                                <TextBlock Text="help" FontSize="23.333"  FontWeight="Thin" HorizontalAlignment="Center"/>
+                                <TextBlock Text="check out this guide" HorizontalAlignment="Center" FontFamily="Helvetica Neue" FontSize="13" FontWeight="Normal"/>
+                            </StackPanel>
+                        </Button>
+                    </Grid>
+                    <StackPanel Margin="0,10">
+                        <StackPanel.Background>
+                            <SolidColorBrush Color="{ThemeResource PhoneForegroundColor}" Opacity="0.2"/>
+                        </StackPanel.Background>
+                        <TextBlock Text="security" HorizontalAlignment="Center" Style="{StaticResource ComboBoxPlaceholderTextBlockStyle}"  Margin="0,10,0,0"/>
+                        <ToggleSwitch Header="password protection" Toggled="PasswordToggle"/>
+                        <Grid Margin="30,10" Background="{StaticResource ContentDialogDimmingThemeBrush}">
+                            <Grid.ColumnDefinitions>
+                                <ColumnDefinition Width="*"/>
+                                <ColumnDefinition Width="Auto"/>
+                            </Grid.ColumnDefinitions>
+                            <TextBlock VerticalAlignment="Center" MaxLines="1" Height="50" FontSize="20" TextWrapping="NoWrap" x:Name="securityBlock" Margin="10,0" HorizontalAlignment="Center"/>
+                            <Button Grid.Column="1" Style="{StaticResource DefaultButton}" Content="clear" FontSize="12" Background="{StaticResource ContentDialogDimmingThemeBrush}"/>
+                        </Grid>
+                        <Grid Visibility="Collapsed" x:Name="wrapPanel" Height="260"/>
+                    </StackPanel>
 
-</phone:PhoneApplicationPage>-
\ No newline at end of file
+                </StackPanel>
+            </ScrollViewer>
+        </Grid>
+    </Grid>
+</Page>
diff --git a/File360/SettingsPage.xaml.cs b/File360/SettingsPage.xaml.cs
@@ -1,80 +1,207 @@
 using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Net;
-using System.Windows;
-using System.Windows.Controls;
-using System.Windows.Navigation;
-using Microsoft.Phone.Controls;
-using Microsoft.Phone.Shell;
+using Windows.Storage;
+using Windows.UI.Xaml;
+using Windows.UI.Xaml.Controls;
 
 namespace File360
 {
-    public partial class SettingsPage : PhoneApplicationPage
+    public sealed partial class SettingsPage : Page
     {
-        const string about = "/AboutPage.xaml";
-        const string security = "/SecurityPage.xaml";
-        const string personalization = "/PersonalizationPage.xaml";
-        string txts;
-        List<settinglist> sl = new List<settinglist>();
+
+        ApplicationDataContainer settings = ApplicationData.Current.LocalSettings;
         public SettingsPage()
         {
-            InitializeComponent();
-            sl.Add(new settinglist("ftp", "configure file transfer prtocol","/Resources/Assets/Settings/ftp.png"));
-            sl.Add(new settinglist("bluetooth", "bluetooth settings","/Resources/Assets/Images/add.png"));
-            sl.Add(new settinglist("nfc", "nfc configuration",""));
-            sl.Add(new settinglist("personalization", "get a look",""));
-            sl.Add(new settinglist("music", "change your music settings",""));
-            sl.Add(new settinglist("security", "protect your files",""));
-            sl.Add(new settinglist("about", "About Us!",""));
-            SettingsList.ItemsSource = sl;
+            this.InitializeComponent();
+            //Loaded += SettingsPage_Loaded;
+        }
 
+
+        public void GoBack(object sender, RoutedEventArgs e)
+        {
+            this.Frame.GoBack();
         }
 
-        async private void txtB_Tap(object sender, System.Windows.Input.GestureEventArgs e)
+        private void SettingsPage_Loaded(object sender, RoutedEventArgs e)
         {
-            TextBlock txt = (TextBlock)sender;
-            txts = (txt.Text).ToString();
-            if (txts == "about")
-            {
-                NavigationService.Navigate(new Uri(about, UriKind.Relative));
-            }
 
-            if (txts == "security")
+            #region SettingsSerializer
+            if (settings.Containers.Count == 9)
             {
-                NavigationService.Navigate(new Uri(security, UriKind.Relative));
+                settings.Values["musicPlayer"] = "1";
+                musicToggle.IsChecked = true;
+                settings.Values["picturesPlayer"] = "1";
+                picturesToggle.IsChecked = true;
+                settings.Values["videoPlayer"] = "1";
+                videosToggle.IsChecked = true;
+                settings.Values["ebookViewer"] = "1";
+                ebookToggle.IsChecked = true;
+                settings.Values["itemType"] = 1;
+                typeComboBox.SelectedIndex = 1;
+                settings.Values["musThumbnail"] = "0";
+                musThumbnailToggle.IsChecked = false;
+                settings.Values["vidThumbnail"] = "0";
+                vidThumbnailToggle.IsChecked = false;
+                settings.Values["picThumbnail"] = "0";
+                picThumbnailToggle.IsChecked = false;
             }
-
-            if (txts == "bluetooth")
+            else
             {
-               await Windows.System.Launcher.LaunchUriAsync(new Uri("ms-settings-bluetooth:"));
+                musicToggle.IsChecked = ((string)settings.Values["musicPlayer"] == "1");
+                picturesToggle.IsChecked = ((string)settings.Values["picturesPlayer"] == "1");
+                videosToggle.IsChecked = ((string)settings.Values["videosPlayer"] == "1");
+                ebookToggle.IsChecked = ((string)settings.Values["ebookViewer"] == "1");
+                typeComboBox.SelectedIndex = (int)(settings.Values["itemType"]);
+                musThumbnailToggle.IsChecked = ((string)settings.Values["musThumbnail"] == "1");
+                vidThumbnailToggle.IsChecked = ((string)settings.Values["vidThumbnail"] == "1");
+                picThumbnailToggle.IsChecked = ((string)settings.Values["picThumbnail"] == "1");
             }
+            #endregion
 
-            if (txts == "nfc")
-            {
-                MessageBox.Show("coming soon...");
-            }
 
-            if (txts == "personalization")
+            #region InitializePasswordButtons
+            for (int i = 1; i <= 9; i++)
             {
-                NavigationService.Navigate(new Uri(personalization, UriKind.Relative));
+                Button b = new Button();
+                b.Content = i;
+                try
+                {
+                    b.Height = (Window.Current.Bounds.Width / 3) - 40;
+                    b.Width = Window.Current.Bounds.Width / 3;
+                }
+                catch
+                {
+                }
+                b.Click += B_Click;
+                b.Style = (Style)Application.Current.Resources["DefaultButton"];
+                wrapPanel.Children.Add(b);
             }
+            #endregion
+        }
+
+
+        #region SettingsHandler
+        #region Bluetooth
+        private async void OpenBluetoothSettings(object sender, RoutedEventArgs e)
+        {
+            await Windows.System.Launcher.LaunchUriAsync(new Uri("ms-settings-bluetooth:"));
+        }
+        #endregion
+
+        #region HelpMenu
+        private void HelpOpen(object sender, RoutedEventArgs e)
+        {
+            //    SettingsFrameGrid.Visibility = Visibility.Visible;
+            //    if (!SettingsFrame.Navigate(typeof(HelpPage)))
+            //    {
+            //        throw new Exception("Failed to create scenario list");
+            //    }
+        }
+        #endregion
+        #region FTP
+        private void OpenFTP(object sender, RoutedEventArgs e)
+        {
+            //FTPOpen.Begin();
+        }
+        #endregion
+        #region Music
+        private void musicToggle_Checked(object sender, RoutedEventArgs e)
+        {
+            settings.Values["musicPlayer"] = "1";
+        }
+        private void musicToggle_Unchecked(object sender, RoutedEventArgs e)
+        {
+            settings.Values["musicPlayer"] = "0";
+        }
+
+        private void musThumbnailToggle_Checked(object sender, RoutedEventArgs e)
+        {
+            settings.Values["musThumbnail"] = "1";
+        }
+
+        private void musThumbnailToggle_Unchecked(object sender, RoutedEventArgs e)
+        {
+            settings.Values["musThumbnail"] = "0";
+        }
+        #endregion
+        #region Videos
+        private void videosToggle_Checked(object sender, RoutedEventArgs e)
+        {
+            settings.Values["videosPlayer"] = "1";
+        }
+        private void videosToggle_Unchecked(object sender, RoutedEventArgs e)
+        {
+            settings.Values["videosPlayer"] = "0";
+        }
+        private void vidThumbnailToggle_Checked(object sender, RoutedEventArgs e)
+        {
+            settings.Values["vidThumbnail"] = "1";
+        }
+
+        private void vidThumbnailToggle_Unchecked(object sender, RoutedEventArgs e)
+        {
+            settings.Values["vidThumbnail"] = "0";
+        }
+
+        #endregion
+        #region Ebooks
+        private void ebookToggle_Checked(object sender, RoutedEventArgs e)
+        {
+            settings.Values["ebookViewer"] = "1";
+        }
+        private void ebookToggle_Unchecked(object sender, RoutedEventArgs e)
+        {
+            settings.Values["ebookViewer"] = "0";
+        }
+        #endregion
+        #region Pictures
+        private void picturesToggle_Checked(object sender, RoutedEventArgs e)
+        {
+            settings.Values["picturesPlayer"] = "1";
+        }
 
-            if (txts == "ftp")
+        private void picturesToggle_Unchecked(object sender, RoutedEventArgs e)
+        {
+            settings.Values["picturesPlayer"] = "0";
+        }
+
+        private void picThumbnailToggle_Checked(object sender, RoutedEventArgs e)
+        {
+            settings.Values["picThumbnail"] = "1";
+        }
+
+        private void picThumbnailToggle_Unchecked(object sender, RoutedEventArgs e)
+        {
+            settings.Values["picThumbnail"] = "0";
+        }
+        #endregion
+
+        #region Folder
+        private void FolderViewChanged(object sender, SelectionChangedEventArgs e)
+        {
+            settings.Values["itemType"] = typeComboBox.SelectedIndex;
+        }
+        #endregion
+
+        #region Security
+        private void PasswordToggle(object sender, RoutedEventArgs e)
+        {
+            ToggleSwitch ts = (ToggleSwitch)sender;
+            if (ts.IsOn)
             {
-                MessageBox.Show("coming soon...");
+                wrapPanel.Visibility = Visibility.Visible;
             }
-            if (txts == "music")
+            else
             {
-                MessageBox.Show("coming soon...");
+                wrapPanel.Visibility = Visibility.Visible;
             }
-        }
-		
-		public void SettingTap_Tap(object sender, System.Windows.Input.GestureEventArgs e)
-			{
-				
-			}
 
+        }
+        private void B_Click(object sender, RoutedEventArgs e)
+        {
+            securityBlock.Text += ((Button)sender).Content;
+        }
+        #endregion
+        #endregion
 
     }
-}-
\ No newline at end of file
+}
diff --git a/File360/Shade.cs b/File360/Shade.cs
@@ -0,0 +1,229 @@
+using System;
+using System.Linq;
+using System.Windows;
+using Windows.Foundation;
+using Windows.UI;
+using Windows.UI.Xaml;
+using Windows.UI.Xaml.Controls;
+using Windows.UI.Xaml.Input;
+using Windows.UI.Xaml.Media;
+using Windows.UI.Xaml.Media.Animation;
+
+namespace File360
+{
+    public class Shade : Grid
+    {
+        #region Globals and events
+
+        private readonly PropertyPath _translatePath = new PropertyPath("(UIElement.RenderTransform).(TranslateTransform.X)");
+        private readonly PropertyPath _colorPath = new PropertyPath("(Grid.Background).(SolidColorBrush.Color)");
+
+        private readonly TranslateTransform _listFragmentTransform = new TranslateTransform();
+        private readonly TranslateTransform _deltaTransform = new TranslateTransform();
+        private const int MaxAlpha = 190;
+
+        public delegate void DrawerEventHandler(object sender);
+        public event DrawerEventHandler DrawerOpened;
+        public event DrawerEventHandler DrawerClosed;
+
+        private Storyboard _fadeInStoryboard;
+        private Storyboard _fadeOutStoryboard;
+        private Grid _shadowFragment;
+        private Grid _slideFragment;
+
+        #endregion
+
+        #region Properties
+
+        public bool Shadowed { get; set; }
+        private PropertyPath TranslatePath
+        {
+            get { return _translatePath; }
+        }
+        private PropertyPath ColorPath
+        {
+            get { return _colorPath; }
+        }
+
+        #endregion
+
+        #region Methods
+
+        public Shade()
+        {
+            Shadowed = false;
+        }
+
+        public void Shadow(Grid Element)
+        {
+            _slideFragment = (Grid)Element;
+            // Create a shadow element
+            _shadowFragment = new Grid
+            {
+                Name = "_shadowFragment",
+                Background = new SolidColorBrush(Color.FromArgb(0, 255, 255, 255)),
+                HorizontalAlignment = HorizontalAlignment.Stretch,
+                VerticalAlignment = VerticalAlignment.Stretch,
+                Visibility = Visibility.Collapsed
+            };
+            _shadowFragment.Tapped += shadowFragment_Tapped;
+            _shadowFragment.IsHitTestVisible = false;
+
+            // Set ZIndexes
+            Canvas.SetZIndex(_shadowFragment, 50);
+            Canvas.SetZIndex(_slideFragment, 51);
+            Children.Add(_shadowFragment);
+
+            // Create a new fadeIn animation storyboard
+            _fadeInStoryboard = new Storyboard();
+
+            // New double animation
+            var doubleAnimation1 = new DoubleAnimation 
+            { 
+                Duration = new Duration(new TimeSpan(0, 0, 0, 0, 200)), 
+                To = 0 
+            };
+
+            Storyboard.SetTarget(doubleAnimation1, _slideFragment);
+            Storyboard.SetTargetProperty(doubleAnimation1, TranslatePath.Path);
+            _fadeInStoryboard.Children.Add(doubleAnimation1);
+
+            // New color animation for _shadowFragment
+            var colorAnimation1 = new ColorAnimation
+            {
+                Duration = new Duration(new TimeSpan(0, 0, 0, 0, 200)),
+                To = Color.FromArgb(190, 0, 0, 0)
+            };
+
+            Storyboard.SetTarget(colorAnimation1, _shadowFragment);
+            Storyboard.SetTargetProperty(colorAnimation1, ColorPath.Path);
+            _fadeInStoryboard.Children.Add(colorAnimation1);
+
+            // Create a new fadeOut animation storyboard
+            _fadeOutStoryboard = new Storyboard();
+
+            // New double animation
+            var doubleAnimation2 = new DoubleAnimation
+            {
+                Duration = new Duration(new TimeSpan(0, 0, 0, 0, 200)),
+                To = -_slideFragment.Width - 200
+            };
+
+            Storyboard.SetTarget(doubleAnimation2, _slideFragment);
+            Storyboard.SetTargetProperty(doubleAnimation2, TranslatePath.Path);
+            _fadeOutStoryboard.Children.Add(doubleAnimation2);
+
+            // New color animation for _shadowFragment
+            var colorAnimation2 = new ColorAnimation
+            {
+                Duration = new Duration(new TimeSpan(0, 0, 0, 0, 200)),
+                To = Color.FromArgb(0, 0, 0, 0)
+            };
+
+            Storyboard.SetTarget(colorAnimation2, _shadowFragment);
+            Storyboard.SetTargetProperty(colorAnimation2, ColorPath.Path);
+            _fadeOutStoryboard.Children.Add(colorAnimation2);
+
+        }
+
+        public void UnShadow()
+        {
+            var shadow = new Storyboard();
+
+            var doubleAnimation = new DoubleAnimation
+            {
+                Duration = new Duration(new TimeSpan(0, 0, 0, 0, 200)),
+                To = -_slideFragment.Width
+            };
+
+            Storyboard.SetTarget(doubleAnimation, _slideFragment);
+            Storyboard.SetTargetProperty(doubleAnimation, TranslatePath.Path);
+            shadow.Children.Add(doubleAnimation);
+
+            var colorAnimation = new ColorAnimation
+            {
+                Duration = new Duration(new TimeSpan(0, 0, 0, 0, 200)),
+                To = Color.FromArgb(0, 0, 0, 0)
+            };
+
+            Storyboard.SetTarget(colorAnimation, _shadowFragment);
+            Storyboard.SetTargetProperty(colorAnimation, ColorPath.Path);
+            shadow.Children.Add(colorAnimation);
+
+            shadow.Completed += shadow_Completed;
+            shadow.Begin();
+        }
+        private void shadowFragment_Tapped(object sender, TappedRoutedEventArgs e)
+        {
+            var shadow = new Storyboard();
+
+            var doubleAnimation = new DoubleAnimation
+            {
+                Duration = new Duration(new TimeSpan(0, 0, 0, 0, 200)),
+                To = -_slideFragment.Width
+            };
+
+            Storyboard.SetTarget(doubleAnimation, _slideFragment);
+            Storyboard.SetTargetProperty(doubleAnimation, TranslatePath.Path);
+            shadow.Children.Add(doubleAnimation);
+
+            var colorAnimation = new ColorAnimation
+            {
+                Duration = new Duration(new TimeSpan(0, 0, 0, 0, 200)),
+                To = Color.FromArgb(0, 0, 0, 0)
+            };
+
+            Storyboard.SetTarget(colorAnimation, _shadowFragment);
+            Storyboard.SetTargetProperty(colorAnimation, ColorPath.Path);
+            shadow.Children.Add(colorAnimation);
+
+            shadow.Completed += shadow_Completed;
+            shadow.Begin();
+        }
+        private void shadow_Completed(object sender, object e)
+        {
+            _shadowFragment.IsHitTestVisible = false;
+            _shadowFragment.Visibility = Visibility.Collapsed;
+            Shadowed = false;
+
+            // raise close event
+            if (DrawerClosed != null) DrawerClosed(this);
+        }
+        private void fadeOutStoryboard_Completed(object sender, object e)
+        {
+            _shadowFragment.Visibility = Visibility.Collapsed;
+            Shadowed = false;
+            if (DrawerClosed != null) DrawerClosed(this);
+        }
+        #region MoveShadow
+        private void MoveShadowFragment(double left)
+        {
+            // Show shadow fragment
+            _shadowFragment.Background = new SolidColorBrush(Color.FromArgb(255, 255, 255, 255));
+            _shadowFragment.Visibility = Visibility.Visible;
+
+            // Set bg color based on current _slideFragment position.
+            var maxLeft = _slideFragment.ActualWidth;
+            var currentLeft = maxLeft - left;
+
+            var temp = Convert.ToInt32((currentLeft / maxLeft) * MaxAlpha);
+
+            // Limit temp variable to 190 to avoid OverflowException
+            if (temp > MaxAlpha) temp = MaxAlpha;
+
+            byte alphaColorIndex;
+            try
+            {
+                alphaColorIndex = Convert.ToByte(MaxAlpha - temp);
+            }
+            catch
+            {
+                alphaColorIndex = 0;
+            }
+
+            _shadowFragment.Background = new SolidColorBrush(Color.FromArgb(alphaColorIndex, 0, 0, 0));
+        }
+        #endregion
+        #endregion
+    }
+}
diff --git a/File360/SideBarMenuButton.xaml b/File360/SideBarMenuButton.xaml
@@ -0,0 +1,25 @@
+<Button
+    x:Class="File360.SideBarMenuButton"
+    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+    xmlns:local="using:File360"
+    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+    mc:Ignorable="d"
+    HorizontalContentAlignment="Left" FontWeight="Thin" BorderBrush="{x:Null}">
+
+    <StackPanel Orientation="Horizontal" x:Name="LayoutGrid" Margin="0,5">
+        <TextBlock x:Name="TextImage" 
+                       VerticalAlignment="Center" 
+                       FontFamily="Assets/Font/iconFont.ttf#iconfont" 
+                       FontSize="25" 
+                       Text="t" 
+                       TextAlignment="Left" Foreground="{ThemeResource PhoneForegroundBrush}"/>
+        <TextBlock x:Name="Text" 
+                       TextWrapping="NoWrap" 
+                       FontFamily="Assets/Font/Custom/Raleway-Light.ttf#Raleway" 
+                       FontSize="18" 
+                       TextAlignment="Left"
+                       Text="sd som" VerticalAlignment="Center" Foreground="{ThemeResource PhoneForegroundBrush}" Margin="5,0,0,0"/>
+    </StackPanel>
+</Button>
diff --git a/File360/SideBarMenuButton.xaml.cs b/File360/SideBarMenuButton.xaml.cs
@@ -0,0 +1,44 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Runtime.InteropServices.WindowsRuntime;
+using Windows.Foundation;
+using Windows.Foundation.Collections;
+using Windows.UI.Xaml;
+using Windows.UI.Xaml.Controls;
+using Windows.UI.Xaml.Controls.Primitives;
+using Windows.UI.Xaml.Data;
+using Windows.UI.Xaml.Input;
+using Windows.UI.Xaml.Media;
+using Windows.UI.Xaml.Navigation;
+
+// The User Control item template is documented at http://go.microsoft.com/fwlink/?LinkId=234236
+
+namespace File360
+{
+    public sealed partial class SideBarMenuButton : Button
+    {
+        public SideBarMenuButton()
+        {
+            this.InitializeComponent();
+            Width = (Window.Current.Bounds.Width*2)/3;
+            Height = Window.Current.Bounds.Height / 12;
+        }
+        public string ImageText
+        {
+            get { return TextImage.Text; }
+            set { TextImage.Text = value; }
+        }
+        public string ContentText
+        {
+            get { return Text.Text; }
+            set { Text.Text = value; }
+        }
+        public SolidColorBrush BackgroundColor
+        {
+            get { return (SolidColorBrush)LayoutGrid.Background; }
+            set { LayoutGrid.Background = value; }
+        }
+    }
+}
diff --git a/File360/StoreManifest.xml b/File360/StoreManifest.xml
@@ -0,0 +1,5 @@
+<StoreManifest xmlns="http://schemas.microsoft.com/appx/2010/StoreManifest">
+  <ProductFeatures>
+    <SDOptOut>true</SDOptOut>
+  </ProductFeatures>
+</StoreManifest>+
\ No newline at end of file
diff --git a/File360/Strings/en-US/Resources.resw b/File360/Strings/en-US/Resources.resw
@@ -0,0 +1,150 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <data name="AddAppBarButton.Label" xml:space="preserve">
+    <value>add</value>
+  </data>
+  <data name="Header.Text" xml:space="preserve">
+    <value>MY APPLICATION</value>
+  </data>
+  <data name="NavigationFailedExceptionMessage" xml:space="preserve">
+    <value>Navigation failed.</value>
+  </data>
+  <data name="NewItemDescription" xml:space="preserve">
+    <value>Item Description: Pellentesque porta, mauris quis interdum vehicula, urna sapien ultrices velit, nec venenatis dui odio in augue. Cras posuere, enim a cursus convallis, neque turpis malesuada erat, ut adipiscing neque tortor ac erat.</value>
+  </data>
+  <data name="NewItemTitle" xml:space="preserve">
+    <value>Item Title: {0}</value>
+  </data>
+  <data name="Pivot.Title" xml:space="preserve">
+    <value>MY APPLICATION</value>
+  </data>
+  <data name="PivotItem1.Header" xml:space="preserve">
+    <value>first</value>
+  </data>
+  <data name="PivotItem2.Header" xml:space="preserve">
+    <value>second</value>
+  </data>
+  <data name="SecondaryButton1.Label" xml:space="preserve">
+    <value>secondary command 1</value>
+  </data>
+  <data name="SecondaryButton2.Label" xml:space="preserve">
+    <value>secondary command 2</value>
+  </data>
+</root>+
\ No newline at end of file
diff --git a/File360/Utility/Helper/NativeOperationsHelper.cs b/File360/Utility/Helper/NativeOperationsHelper.cs
@@ -0,0 +1,86 @@
+/**********************************************************************
+ * VLC for WinRT
+ **********************************************************************
+ * Copyright © 2013-2014 VideoLAN and Authors
+ *
+ * Licensed under GPLv2+ and MPLv2
+ * Refer to COPYING file of the official project for license
+ **********************************************************************/
+
+using System;
+using System.Runtime.InteropServices;
+using System.Runtime.InteropServices.ComTypes;
+using Windows.Storage;
+
+namespace File360.Utility.Helpers
+{
+    internal class NativeOperationsHelper
+    {
+        // ReSharper disable InconsistentNaming
+        /// <summary>
+        /// La déclaration de l'API GetFileAttributesEx
+        /// </summary>
+        /// <param name="lpFileName">Le nom du fichier recherché</param>
+        /// <param name="fInfoLevelId">Quelles types d'info on recherche</param>
+        /// <param name="lpFileInformation">Structure contenant les informations une fois l'API appelée</param>
+        /// <returns></returns>
+        [DllImport("kernel32.dll", SetLastError = true, CharSet = CharSet.Unicode)]
+        [return: MarshalAs(UnmanagedType.Bool)]
+        public static extern bool GetFileAttributesEx(
+            string lpFileName,
+            GET_FILEEX_INFO_LEVELS fInfoLevelId,
+            out WIN32_FILE_ATTRIBUTE_DATA lpFileInformation);
+
+        /// <summary>
+        /// Type d'infos recherchées
+        /// </summary>
+        public enum GET_FILEEX_INFO_LEVELS
+        {
+            /// <summary>
+            /// C'est la seule valeur autorisée avec WinRT
+            /// </summary>
+            GetFileExInfoStandard,
+            /// <summary>
+            /// Ne fonctionne pas sous WinRT => marqué Obsolete
+            /// </summary>
+            [Obsolete]
+            GetFileExMaxInfoLevel
+        }
+
+        /// <summary>
+        /// Structure contenant les informations sur le fichier
+        /// </summary>
+        [StructLayout(LayoutKind.Sequential)]
+        public struct WIN32_FILE_ATTRIBUTE_DATA
+        {
+            public FileAttributes dwFileAttributes;
+            public FILETIME ftCreationTime;
+            public FILETIME ftLastAccessTime;
+            public FILETIME ftLastWriteTime;
+            public uint nFileSizeHigh;
+            public uint nFileSizeLow;
+        }
+
+        // quelques valeurs d'erreurs succeptibles d'arriver
+        private const int ERROR_FILE_NOT_FOUND = 2;
+        private const int ERROR_PATH_NOT_FOUND = 3;
+        private const int ERROR_ACCESS_DENIED = 5;
+
+        public static bool FileExist(string fileName)
+        {
+            WIN32_FILE_ATTRIBUTE_DATA fileData;
+            if (GetFileAttributesEx(fileName, GET_FILEEX_INFO_LEVELS.GetFileExInfoStandard, out fileData))
+                return true;
+
+            // récupération de la dernière erreur (in the same thread of course ;-))
+            var lastError = Marshal.GetLastWin32Error();
+            if (lastError == ERROR_FILE_NOT_FOUND || lastError == ERROR_PATH_NOT_FOUND) return false;
+            // si c'est pas un fichier non trouvé, on lance une exception
+            if (lastError == ERROR_ACCESS_DENIED)
+                throw new SecurityAccessDeniedException("Acces Denied");
+
+            throw new InvalidOperationException(string.Format("Erreur pendant l'accès au fichier {0}, code {1}", fileName, lastError));
+        }
+
+    }
+}
diff --git a/File360/Utility/Helper/SecurityAccessDeniedException.cs b/File360/Utility/Helper/SecurityAccessDeniedException.cs
@@ -0,0 +1,19 @@
+using System;
+
+namespace File360.Utility.Helpers
+{
+    internal class SecurityAccessDeniedException : Exception
+    {
+        public SecurityAccessDeniedException()
+        {
+        }
+
+        public SecurityAccessDeniedException(string message) : base(message)
+        {
+        }
+
+        public SecurityAccessDeniedException(string message, Exception innerException) : base(message, innerException)
+        {
+        }
+    }
+}+
\ No newline at end of file
diff --git a/File360/VaultPage.xaml b/File360/VaultPage.xaml
@@ -1,83 +1,74 @@
-<phone:PhoneApplicationPage
-    xmlns:local="clr-namespace:File360"
-    xmlns:vsm="clr-namespace:System.Windows;assembly=System.Windows"
-    xmlns:toolkit="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls.Toolkit"
+<Page
+    x:Class="File360.VaultPage"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
-    xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
-    xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
+    xmlns:local="using:File360"
     xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
     xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
-    x:Class="File360.vault"
-    local:TiltEffect.IsTiltEnabled="True"
     mc:Ignorable="d"
-    Orientation="Portrait"
-    shell:SystemTray.IsVisible="True">
+    RequestedTheme="Dark"
+    Background="{ThemeResource ApplicationPageBackgroundThemeBrush}" FontSize="33.333">
+    <Page.Resources>
+        <Storyboard x:Name="AuthenticationFailed" AutoReverse="True" RepeatBehavior="1x">
+            <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateX)" Storyboard.TargetName="image">
+                <SplineDoubleKeyFrame KeyTime="0" Value="0"/>
+                <EasingDoubleKeyFrame KeyTime="0:0:0.1" Value="15">
+                    <EasingDoubleKeyFrame.EasingFunction>
+                        <QuarticEase EasingMode="EaseIn"/>
+                    </EasingDoubleKeyFrame.EasingFunction>
+                </EasingDoubleKeyFrame>
+                <EasingDoubleKeyFrame KeyTime="0:0:0.2" Value="-15">
+                    <EasingDoubleKeyFrame.EasingFunction>
+                        <QuadraticEase EasingMode="EaseInOut"/>
+                    </EasingDoubleKeyFrame.EasingFunction>
+                </EasingDoubleKeyFrame>
+            </DoubleAnimationUsingKeyFrames>
+        </Storyboard>
+    </Page.Resources>
 
-    <phone:PhoneApplicationPage.Resources>
-        <Style x:Key="EmptyPressedState" TargetType="Button">
-            <Setter Property="HorizontalAlignment" Value="Left"/>
-            <Setter Property="BorderBrush" Value="Transparent"/>
-            <Setter Property="VerticalAlignment" Value="Top"/>
-            <Setter Property="FontSize" Value="30"/>
-            <Setter Property="FontFamily" Value="{StaticResource PhoneFontFamilySemiLight}"/>
-            <Setter Property="Template">
-                <Setter.Value>
-                    <ControlTemplate TargetType="Button">
-                        <Grid Background="Transparent">
-                            <VisualStateManager.VisualStateGroups>
-                                <VisualStateGroup x:Name="CommonStates">
-                                    <VisualState x:Name="Pressed">
-                                        <Storyboard>
-                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="ContentContainer">
-                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource PhoneButtonBasePressedForegroundBrush}"/>
-                                            </ObjectAnimationUsingKeyFrames>
-                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Background" Storyboard.TargetName="ButtonBackground">
-                                                <DiscreteObjectKeyFrame KeyTime="0" Value="Transparent"/>
-                                            </ObjectAnimationUsingKeyFrames>
-                                        </Storyboard>
-                                    </VisualState>
-                                </VisualStateGroup>
-                            </VisualStateManager.VisualStateGroups>
-                            <Border x:Name="ButtonBackground" BorderBrush="{TemplateBinding BorderBrush}" Background="{TemplateBinding Background}">
-                                <ContentControl x:Name="ContentContainer" ContentTemplate="{TemplateBinding ContentTemplate}" Content="{TemplateBinding Content}" Foreground="{TemplateBinding Foreground}" HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"/>
-                            </Border>
-                        </Grid>
-                    </ControlTemplate>
-                </Setter.Value>
-            </Setter>
-        </Style>
 
-
-        <DataTemplate x:Key="VaultTemplate">
-            <StackPanel Margin="0,0,15,50" >
-                <!--<Button x:Name="btnb" Content="{Binding Name}" Click="sdsub" Style="{StaticResource ListButtonStyle}"/>-->
-                <Button x:Name="folderTap" Content="{Binding VaultName}" Style="{StaticResource EmptyPressedState}" CharacterSpacing="0" Hold="folderTap_Hold" VerticalAlignment="Top" />
-                <!--<TextBlock x:Name="subtxt" Text="{Binding Name2}" TextWrapping="Wrap" Margin="12,-6,12,0" Style="{StaticResource PhoneTextSubtleStyle}"/>-->
-                <toolkit:ContextMenuService.ContextMenu>
-
-                    <toolkit:ContextMenu IsZoomEnabled="True" x:Name="ContextMenu">
-                        
-                        <toolkit:MenuItem x:Name="Remove" Header="remove" Click="Remove_Click"/>
-
-                    </toolkit:ContextMenu>
-
-                </toolkit:ContextMenuService.ContextMenu>
-            </StackPanel>
-        </DataTemplate>
-    </phone:PhoneApplicationPage.Resources>
-
-    <!--LayoutRoot is the root grid where all page content is placed-->
-	<Grid x:Name="LayoutRoot" Background="Transparent">
-		<phone:Pivot x:Name="vaultpivot" HorizontalAlignment="Left" Height="768" Title="FILE360°" VerticalAlignment="Top" Width="480" Grid.RowSpan="2">
-			<phone:PivotItem Header="vault" Margin="10,28,-358,0">
-                <toolkit:LongListMultiSelector 
-                    x:Name="vaultLister"
-                    ItemTemplate="{StaticResource VaultTemplate}"
-                    IsGroupingEnabled="True"/>
-            </phone:PivotItem>
-		</phone:Pivot>
-		
+    <Grid>
+        <Grid>
+            <Grid.RowDefinitions>
+                <RowDefinition Height="*"/>
+                <RowDefinition Height="1.5*"/>
+            </Grid.RowDefinitions>
+            <Grid>
+                <Image x:Name="image" Margin="45" Source="Assets/SmallLogo.png" HorizontalAlignment="Center" VerticalAlignment="Center" RenderTransformOrigin="0.5,0.5">
+                    <Image.RenderTransform>
+                        <CompositeTransform/>
+                    </Image.RenderTransform>
+                </Image>
+            </Grid>
+            <Grid Grid.Row="1">
+                <Grid.Background>
+                    <SolidColorBrush Color="{ThemeResource PhoneChromeColor}"/>
+                </Grid.Background>
+                <Grid.RowDefinitions>
+                    <RowDefinition Height="1.5*"/>
+                    <RowDefinition Height="5*"/>
+                </Grid.RowDefinitions>
+                <TextBox x:Name="passwordBox" InputScope="Number" VerticalAlignment="Stretch" BorderBrush="{x:Null}" Foreground="White" PlaceholderText="" FontSize="26.667" MaxLength="4" TextAlignment="Center" Style="{StaticResource PasswordTextBox}" Background="{x:Null}" TextChanged="passwordBox_TextChanged" LostFocus="passwordBox_LostFocus"/>
+                <!--<TextBlock x:Name="passwordBox" Text="" CharacterSpacing="1000" FontWeight="Bold" VerticalAlignment="Stretch" MaxLines="1"/>-->
+                <!--<Grid x:Name="passwordGrid" Grid.Row="1">
+                    <Grid.RowDefinitions>
+                        <RowDefinition Height="*"/>
+                        <RowDefinition Height="*"/>
+                        <RowDefinition Height="*"/>
+                        <RowDefinition Height="*"/>
+                    </Grid.RowDefinitions>
+                    <Grid.ColumnDefinitions>
+                        <ColumnDefinition Width="*"/>
+                        <ColumnDefinition Width="*"/>
+                        <ColumnDefinition Width="*"/>
+                    </Grid.ColumnDefinitions>
+                </Grid>-->
+                <Grid Grid.Row="1" Tapped="Grid_Tapped">
+                    <Grid.Background>
+                        <SolidColorBrush Color="{ThemeResource PhoneChromeColor}"/>
+                    </Grid.Background>
+                </Grid>
+            </Grid>
+        </Grid>
     </Grid>
-
-</phone:PhoneApplicationPage>-
\ No newline at end of file
+</Page>
diff --git a/File360/VaultPage.xaml.cs b/File360/VaultPage.xaml.cs
@@ -1,114 +1,81 @@
-using System;
+using File360.Common;
+using System;
 using System.Collections.Generic;
+using System.IO;
 using System.Linq;
-using System.Net;
-using System.Windows;
-using System.Windows.Controls;
-using System.Windows.Navigation;
-using Microsoft.Phone.Controls;
-using Microsoft.Phone.Shell;
-using Microsoft.Devices.Sensors;
-using Microsoft.Xna.Framework;
-using System.ComponentModel;
-using File360.Resources;
-using System.IO.IsolatedStorage;
+using System.Runtime.InteropServices.WindowsRuntime;
+using Windows.Foundation;
+using Windows.Foundation.Collections;
+using Windows.Graphics.Display;
+using Windows.UI.ViewManagement;
+using Windows.UI.Xaml;
+using Windows.UI.Xaml.Controls;
+using Windows.UI.Xaml.Controls.Primitives;
+using Windows.UI.Xaml.Data;
+using Windows.UI.Xaml.Input;
+using Windows.UI.Xaml.Media;
+using Windows.UI.Xaml.Navigation;
+
+// The Basic Page item template is documented at http://go.microsoft.com/fwlink/?LinkID=390556
 
 namespace File360
 {
-    public partial class vault : PhoneApplicationPage
+    /// <summary>
+    /// An empty page that can be used on its own or navigated to within a Frame.
+    /// </summary>
+    public sealed partial class VaultPage : Page
     {
-        Accelerometer accelerometer;
-        const string MAIN_PAGE_URI = "/MainPage.xaml";
-        List<vaultlist> vl = new List<vaultlist>();
-        public static string Vbtns;
-        IsolatedStorageSettings appSettings = IsolatedStorageSettings.ApplicationSettings;
-
-        int index;
-        public vault()
+        string PASS_KEY = "2580";
+        public VaultPage()
         {
-            InitializeComponent();
-            #region AccelerometerChecker
-
-            if ((string)appSettings["Shaker"] == "On")
-            {
-                if (accelerometer == null)
-                {
-                    accelerometer = new Accelerometer();
-                    accelerometer.TimeBetweenUpdates = TimeSpan.FromMilliseconds(20);
-                    accelerometer.CurrentValueChanged += new EventHandler<SensorReadingEventArgs<AccelerometerReading>>(accelerometer_CurrentValueChanged);
-                    try
-                    {
-                        accelerometer.Start();
-                    }
-                    catch (InvalidOperationException ex)
-                    {
-                        MessageBox.Show("Initiating Accelerometer Failed!" + "\nAdditional Information:\n" + ex);
-                    }
-                }
-            }
-
-#endregion
-            #region FilesLister
-            if (MainPage.Hbtns != null)
-            {
-                vl.Add(new vaultlist(MainPage.Hbtns, "Folder"));
-                List<AlphaKeyGroup<vaultlist>> DataSource = AlphaKeyGroup<vaultlist>.CreateGroups(vl, System.Threading.Thread.CurrentThread.CurrentUICulture, (vaultlist v) => { return v.VaultName; }, true);
-                vaultLister.ItemsSource = DataSource;
-            }
-            #endregion
+            this.InitializeComponent();
+            Loaded += VaultPage_Loaded;
         }
 
-        #region Accelerometer
-
-        void accelerometer_CurrentValueChanged(object sender, SensorReadingEventArgs<AccelerometerReading> e)
+        private void VaultPage_Loaded(object sender, RoutedEventArgs e)
         {
-            Dispatcher.BeginInvoke(() => UpdateUI(e.SensorReading));
+            passwordBox.Focus(FocusState.Pointer);
+            //int btNo = 0;
+            //for (int i = 0; i <= 3; i++)
+            //{
+            //    for (int j = 0; j < 3; j++)
+            //    {
+            //        btNo++;
+            //        Button bt = new Button();
+            //        bt.Content = btNo;
+            //        bt.HorizontalAlignment = HorizontalAlignment.Stretch;
+            //        bt.VerticalAlignment = VerticalAlignment.Stretch;
+            //        bt.Click += (o, t) =>
+            //        {
+            //            passwordBox.Text += bt.Content;
+            //        };
+            //        Grid.SetRow(bt, i);
+            //        Grid.SetColumn(bt, j);
+            //        passwordGrid.Children.Add(bt);
+            //    }
+            //}
         }
 
-        private void UpdateUI(AccelerometerReading accelerometerReading)
+        private void passwordBox_TextChanged(object sender, TextChangedEventArgs e)
         {
-
-            Vector3 acceleration = accelerometerReading.Acceleration;
-
-            if (acceleration.X >= 0.8 || acceleration.X <= -0.8)
+            if (passwordBox.Text.Count() == 4 && passwordBox.Text != PASS_KEY)
             {
-                if (accelerometer != null)
-                {
-                    accelerometer.Stop();
-                }
-                NavigationService.GoBack();
+                AuthenticationFailed.Begin();
+                passwordBox.Text = "";
             }
-
         }
 
-        protected override void OnBackKeyPress(CancelEventArgs e)
+        private void Grid_Tapped(object sender, TappedRoutedEventArgs e)
         {
-            if (accelerometer != null)
-            {
-                accelerometer.Stop();
-            }
+            e.Handled = true;
+            passwordBox.Focus(FocusState.Pointer);
         }
 
-#endregion
-        #region ContextMenu
-
-        private void Remove_Click(object sender, RoutedEventArgs e)
+        private void passwordBox_LostFocus(object sender, RoutedEventArgs e)
         {
-            
-            vl.RemoveAt(index);
-            List<AlphaKeyGroup<vaultlist>> DataSource = AlphaKeyGroup<vaultlist>.CreateGroups(vl, System.Threading.Thread.CurrentThread.CurrentUICulture, (vaultlist v) => { return v.VaultName; }, true);
-            vaultLister.ItemsSource = DataSource;
-        }
-
-        #endregion
+            ((Grid)(((Grid)this.Frame.Parent).Parent)).Visibility = Visibility.Collapsed;
+            this.Frame.Content = null;
 
-        private void folderTap_Hold(object sender, System.Windows.Input.GestureEventArgs e)
-        {
-            Button b = (Button)sender;
-            Vbtns = (b.Content).ToString();
-            vaultlist dataObject = (vaultlist)b.DataContext;
-            index = vl.IndexOf(dataObject);
         }
-
     }
-}-
\ No newline at end of file
+}
diff --git a/File360/VideoList.cs b/File360/VideoList.cs
@@ -0,0 +1,33 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Windows.UI.Xaml.Media;
+
+namespace File360
+{
+    class VideoList
+    {
+
+        public ImageBrush Preview { set; get; }
+        public string VideoName { set; get; }
+        public string VideoDuration { set; get; }
+        public string FolderName { get; set; }
+        public string Count { set; get; }
+
+        public VideoList(string videoName, TimeSpan videoDuration,ImageBrush preview)
+        {
+            this.VideoName = videoName;
+            this.VideoDuration = videoDuration.ToString();
+            this.Preview = preview;
+        }
+
+        public VideoList(string folderName, int count)
+        {
+            this.FolderName = folderName;
+            this.Count = count.ToString();
+        }
+    }
+
+}
diff --git a/File360/VideoPage.xaml b/File360/VideoPage.xaml
@@ -0,0 +1,213 @@
+<Page
+    x:Class="File360.VideoPage"
+    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+    xmlns:local="using:File360"
+    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+    mc:Ignorable="d"
+    Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
+    <Page.Resources>
+        <Storyboard x:Name="MenuHide">
+            <DoubleAnimation Duration="0:0:0.2" To="-50" Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateY)" Storyboard.TargetName="grid1" d:IsOptimized="True"/>
+            <DoubleAnimation Duration="0:0:0.2" To="0" Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="grid1" d:IsOptimized="True"/>
+            <DoubleAnimation Duration="0:0:0.2" To="-40" Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateX)" Storyboard.TargetName="toggleButton" d:IsOptimized="True"/>
+            <DoubleAnimation Duration="0:0:0.2" To="40" Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateX)" Storyboard.TargetName="toggleButton1" d:IsOptimized="True"/>
+            <DoubleAnimation Duration="0:0:0.2" To="0" Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="grid3" d:IsOptimized="True"/>
+            <DoubleAnimation Duration="0:0:0.3" To="1.2" Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.ScaleX)" Storyboard.TargetName="stackPanel" d:IsOptimized="True">
+                <DoubleAnimation.EasingFunction>
+                    <QuarticEase EasingMode="EaseInOut"/>
+                </DoubleAnimation.EasingFunction>
+            </DoubleAnimation>
+            <DoubleAnimation Duration="0:0:0.3" To="1.2" Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.ScaleY)" Storyboard.TargetName="stackPanel" d:IsOptimized="True">
+                <DoubleAnimation.EasingFunction>
+                    <QuarticEase EasingMode="EaseInOut"/>
+                </DoubleAnimation.EasingFunction>
+            </DoubleAnimation>
+            <DoubleAnimation Duration="0:0:0.3" To="80" Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateY)" Storyboard.TargetName="stackPanel" d:IsOptimized="True">
+                <DoubleAnimation.EasingFunction>
+                    <QuarticEase EasingMode="EaseInOut"/>
+                </DoubleAnimation.EasingFunction>
+            </DoubleAnimation>
+            <DoubleAnimation Duration="0:0:0.3" To="0" Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="stackPanel" d:IsOptimized="True"/>
+            <DoubleAnimation Duration="0:0:0.4" To="1.1" Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.ScaleX)" Storyboard.TargetName="grid1" d:IsOptimized="True"/>
+            <DoubleAnimation Duration="0:0:0.4" To="1.1" Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.ScaleY)" Storyboard.TargetName="grid1" d:IsOptimized="True"/>
+            <DoubleAnimation Duration="0:0:0.2" To="0" Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="rectangle" d:IsOptimized="True"/>
+        </Storyboard>
+        <Storyboard x:Name="MenuHideRev">
+            <DoubleAnimation Duration="0:0:0.4" To="0" Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateY)" Storyboard.TargetName="grid1" d:IsOptimized="True">
+                <DoubleAnimation.EasingFunction>
+                    <QuarticEase EasingMode="EaseInOut"/>
+                </DoubleAnimation.EasingFunction>
+            </DoubleAnimation>
+            <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="grid1">
+                <SplineDoubleKeyFrame KeyTime="0:0:0.4" Value="1"/>
+            </DoubleAnimationUsingKeyFrames>
+            <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateX)" Storyboard.TargetName="toggleButton">
+                <SplineDoubleKeyFrame KeyTime="0:0:0.4" Value="0"/>
+            </DoubleAnimationUsingKeyFrames>
+            <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateX)" Storyboard.TargetName="toggleButton1">
+                <SplineDoubleKeyFrame KeyTime="0:0:0.4" Value="0"/>
+            </DoubleAnimationUsingKeyFrames>
+            <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="grid3">
+                <SplineDoubleKeyFrame KeyTime="0:0:0.4" Value="1"/>
+            </DoubleAnimationUsingKeyFrames>
+            <DoubleAnimation Duration="0:0:0.4" To="1" Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.ScaleX)" Storyboard.TargetName="stackPanel" d:IsOptimized="True">
+                <DoubleAnimation.EasingFunction>
+                    <QuarticEase EasingMode="EaseInOut"/>
+                </DoubleAnimation.EasingFunction>
+            </DoubleAnimation>
+            <DoubleAnimation Duration="0:0:0.4" To="1" Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.ScaleY)" Storyboard.TargetName="stackPanel" d:IsOptimized="True">
+                <DoubleAnimation.EasingFunction>
+                    <QuarticEase EasingMode="EaseInOut"/>
+                </DoubleAnimation.EasingFunction>
+            </DoubleAnimation>
+            <DoubleAnimation Duration="0:0:0.4" To="0" Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateY)" Storyboard.TargetName="stackPanel" d:IsOptimized="True">
+                <DoubleAnimation.EasingFunction>
+                    <QuarticEase EasingMode="EaseInOut"/>
+                </DoubleAnimation.EasingFunction>
+            </DoubleAnimation>
+            <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="stackPanel">
+                <SplineDoubleKeyFrame KeyTime="0:0:0.4" Value="1"/>
+            </DoubleAnimationUsingKeyFrames>
+            <DoubleAnimation Duration="0:0:0.4" To="1" Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.ScaleX)" Storyboard.TargetName="grid1" d:IsOptimized="True">
+                <DoubleAnimation.EasingFunction>
+                    <QuarticEase EasingMode="EaseInOut"/>
+                </DoubleAnimation.EasingFunction>
+            </DoubleAnimation>
+            <DoubleAnimation Duration="0:0:0.4" To="1" Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.ScaleY)" Storyboard.TargetName="grid1" d:IsOptimized="True">
+                <DoubleAnimation.EasingFunction>
+                    <QuarticEase EasingMode="EaseInOut"/>
+                </DoubleAnimation.EasingFunction>
+            </DoubleAnimation>
+            <DoubleAnimation Duration="0:0:0.2" To="1" Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="rectangle" d:IsOptimized="True"/>
+        </Storyboard>
+    </Page.Resources>
+
+    <Grid x:Name="MediaFragment" Grid.RowSpan="2" RequestedTheme="Dark"  RenderTransformOrigin="0,0">
+        <Grid x:Name="imageContainerMedia" VerticalAlignment="Stretch">
+            <Grid.Background>
+                <SolidColorBrush Color="{ThemeResource PhoneBackgroundColor}"/>
+            </Grid.Background>
+            <Viewbox StretchDirection="Both" Stretch="Uniform">
+                <MediaElement x:Name="mediaPlayer" AudioCategory="BackgroundCapableMedia" ManipulationStarted="mediaPlayer_ManipulationStarted" ManipulationDelta="mediaPlayer_ManipulationDelta" ManipulationCompleted="mediaPlayer_ManipulationCompleted"/>
+            </Viewbox>
+            <Grid VerticalAlignment="Stretch" Margin="0">
+                <Grid.RowDefinitions>
+                    <RowDefinition Height="Auto"/>
+                    <RowDefinition Height="*"/>
+                </Grid.RowDefinitions>
+                <Grid x:Name="grid1" Opacity="1" RenderTransformOrigin="0.5,0.5">
+                    <Grid.RenderTransform>
+                        <CompositeTransform/>
+                    </Grid.RenderTransform>
+                    <Grid.Background>
+                        <SolidColorBrush Color="{ThemeResource ContentDialogDimmingColor}"/>
+                    </Grid.Background>
+                    <Grid.ColumnDefinitions>
+                        <ColumnDefinition Width="*"/>
+                        <ColumnDefinition Width="Auto"/>
+                        <ColumnDefinition Width="Auto"/>
+                    </Grid.ColumnDefinitions>
+                    <Grid MinWidth="50" MinHeight="0" >
+                        <Grid.ColumnDefinitions>
+                            <ColumnDefinition Width="Auto"/>
+                            <ColumnDefinition Width="Auto"/>
+                        </Grid.ColumnDefinitions>
+                        <Button >
+                            <StackPanel Margin="10,0" Orientation="Horizontal">
+                                <StackPanel VerticalAlignment="Center" CacheMode="BitmapCache" x:Name="grid" Grid.Column="1" Margin="0">
+                                    <TextBlock x:Name="videoName" Text="no media" TextWrapping="NoWrap" MinWidth="175" FontSize="18.667" VerticalAlignment="Center" FontFamily="Assets/Font/Custom/Raleway-Light.ttf#Raleway" Margin="0" HorizontalAlignment="Left" Foreground="White"/>
+                                    <TextBlock Text="{Binding Text, ElementName=mediaDuration}" FontSize="13.333" VerticalAlignment="Center" Margin="0" FontFamily="Assets/Font/Custom/ClearSans-Thin.ttf#Clear Sans Thin" HorizontalAlignment="Left" Foreground="White"/>
+                                </StackPanel>
+                            </StackPanel>
+                        </Button>
+                    </Grid>
+                    <Button x:Name="button2" Grid.Column="1" MinWidth="0" Visibility="Collapsed"  Content="c"  FontFamily="Assets/Font/iconfont.ttf#iconfont"/>
+                </Grid>
+                <Grid RequestedTheme="Dark" x:Name="grid2" Grid.Row="1" Visibility="Visible" >
+                    <Grid.RowDefinitions>
+                        <RowDefinition Height="*"/>
+                        <RowDefinition Height="Auto"/>
+                    </Grid.RowDefinitions>
+                    <Grid Tapped="Grid_Tapped">
+                        <TextBlock x:Name="vidoeStats" Text="" FontSize="150" VerticalAlignment="Center" HorizontalAlignment="Center" FontFamily="Assets/Font/iconfont.ttf#iconfont" />
+                        <Rectangle x:Name="rectangle">
+                            <Rectangle.Fill>
+                                <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0" Opacity="0.7">
+                                    <GradientStop Color="Black" Offset="0"/>
+                                    <GradientStop Color="Black" Offset="1"/>
+                                    <GradientStop Offset="0.5"/>
+                                    <GradientStop Offset="0.05" Color="{ThemeResource ContentDialogDimmingColor}"/>
+                                    <GradientStop Offset="0.95" Color="{ThemeResource ContentDialogDimmingColor}"/>
+                                </LinearGradientBrush>
+                            </Rectangle.Fill>
+                        </Rectangle>
+                        <Border Grid.Column="1" x:Name="border" VerticalAlignment="Center" RenderTransformOrigin="0.5,1">
+                            <Border.RenderTransform>
+                                <CompositeTransform ScaleY="0"/>
+                            </Border.RenderTransform>
+                            <Border.Background>
+                                <SolidColorBrush Color="{ThemeResource ContentDialogDimmingColor}" Opacity="0.98"/>
+                            </Border.Background>
+                            <TextBlock  x:Name="sliderTimer" Margin="30" Text="{Binding Text, ElementName=currentDuration}" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="30">
+                                <TextBlock.Foreground>
+                                    <SolidColorBrush Color="{ThemeResource PhoneForegroundColor}"/>
+                                </TextBlock.Foreground>
+                            </TextBlock>
+                        </Border>
+                    </Grid>
+                    <Grid x:Name="grid3" VerticalAlignment="Bottom">
+                        <ToggleButton x:Name="toggleButton" MinWidth="50" Content="X" FontFamily="Assets/Font/iconfont.ttf#iconfont" Style="{StaticResource ToggleButtonStyle}" VerticalAlignment="Bottom" Margin="10,0,0,25" RenderTransformOrigin="0.5,0.5">
+                            <ToggleButton.RenderTransform>
+                                <CompositeTransform/>
+                            </ToggleButton.RenderTransform>
+                        </ToggleButton>
+
+                        <ToggleButton x:Name="toggleButton1" Content="C" MinWidth="50" FontFamily="Assets/Font/iconfont.ttf#iconfont" Style="{StaticResource ToggleButtonStyle}" Margin="0,0,10,25" HorizontalAlignment="Right" VerticalAlignment="Bottom" RenderTransformOrigin="0.5,0.5">
+                            <ToggleButton.RenderTransform>
+                                <CompositeTransform/>
+                            </ToggleButton.RenderTransform>
+                        </ToggleButton>
+                    </Grid>
+
+                    <Grid Grid.Row="1" VerticalAlignment="Center">
+                        <StackPanel x:Name="stackPanel" RenderTransformOrigin="0.5,0.5">
+                            <StackPanel.RenderTransform>
+                                <CompositeTransform/>
+                            </StackPanel.RenderTransform>
+                            <Grid>
+                                <Grid.Background>
+                                    <SolidColorBrush Color="{ThemeResource ContentDialogDimmingColor}"/>
+                                </Grid.Background>
+                                <Grid.RowDefinitions>
+                                    <RowDefinition Height="Auto"/>
+                                    <RowDefinition Height="Auto"/>
+                                </Grid.RowDefinitions>
+                                <ProgressBar Value="0" Margin="10" x:Name="musicSlider" BorderBrush="{x:Null}" VerticalAlignment="Top" Height="5"/>
+
+                                <TextBlock x:Name="currentDuration"  Grid.Row="1" Text="--:--" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="10,5,0,5"/>
+                                <TextBlock x:Name="mediaDuration" Text="--:--" Grid.Row="1" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="0,5,10,5"/>
+                            </Grid>
+                            <Grid>
+                                <Grid.Background>
+                                    <SolidColorBrush Color="{ThemeResource ContentDialogDimmingColor}"/>
+                                </Grid.Background>
+                                <Grid>
+                                    <Grid.ColumnDefinitions>
+                                        <ColumnDefinition Width="*"/>
+                                        <ColumnDefinition Width="*"/>
+                                        <ColumnDefinition Width="*"/>
+                                    </Grid.ColumnDefinitions>
+                                    <Button  Content="6"  FontFamily="Assets/Font/iconfont.ttf#iconfont" FontSize="20" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"/>
+                                    <Button x:Name="playPause" Grid.Column="1" Content="8" FontFamily="Assets/Font/iconfont.ttf#iconfont"  Click="PlayCurrent" FontSize="20" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"/>
+                                    <Button Content="4" Grid.Column="2"  FontFamily="Assets/Font/iconfont.ttf#iconfont" FontSize="20" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"/>
+                                </Grid>
+                            </Grid>
+                        </StackPanel>
+                    </Grid>
+                </Grid>
+            </Grid>
+        </Grid>
+    </Grid>
+</Page>
diff --git a/File360/VideoPage.xaml.cs b/File360/VideoPage.xaml.cs
@@ -0,0 +1,172 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Runtime.InteropServices.WindowsRuntime;
+using Windows.Foundation;
+using Windows.Foundation.Collections;
+using Windows.Storage;
+using Windows.UI.Xaml;
+using Windows.UI.Xaml.Controls;
+using Windows.UI.Xaml.Controls.Primitives;
+using Windows.UI.Xaml.Data;
+using Windows.UI.Xaml.Input;
+using Windows.UI.Xaml.Media;
+using Windows.UI.Xaml.Navigation;
+
+// The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkID=390556
+
+namespace File360
+{
+    /// <summary>
+    /// An empty page that can be used on its own or navigated to within a Frame.
+    /// </summary>
+    public sealed partial class VideoPage : Page
+    {
+
+        private bool MENU_HIDDEN = true;
+        private DispatcherTimer musicDispatcher;
+        public VideoPage()
+        {
+            this.InitializeComponent();
+            Loaded += VideoPage_Loaded;
+            Windows.Phone.UI.Input.HardwareButtons.BackPressed += HardwareButtons_BackPressed;
+            SizeChanged += VideoPage_SizeChanged;
+        }
+
+        private void VideoPage_SizeChanged(object sender, SizeChangedEventArgs e)
+        {
+            VisualStateManager.GoToState(this, "Landscape", false);
+        }
+
+        private void VideoPage_Loaded(object sender, RoutedEventArgs e)
+        {
+            MenuHide.Begin();
+        }
+
+        private void HardwareButtons_BackPressed(object sender, Windows.Phone.UI.Input.BackPressedEventArgs e)
+        {
+            if (this.Frame.CanGoBack)
+                this.Frame.GoBack();
+            else Application.Current.Exit();
+        }
+
+        /// <summary>
+        /// Invoked when this page is about to be displayed in a Frame.
+        /// </summary>
+        /// <param name="e">Event data that describes how this page was reached.
+        /// This parameter is typically used to configure the page.</param>
+        protected override void OnNavigatedTo(NavigationEventArgs e)
+        {
+            IStorageFile isf = (IStorageFile)e.Parameter;
+            mediaPlayer.Source = new Uri(isf.Path);
+            mediaPlayer.MediaOpened += (es,st) =>
+            {
+                UpdateVideoInfo(isf.Name, mediaPlayer.NaturalDuration.TimeSpan.Minutes + ":" + mediaPlayer.NaturalDuration.TimeSpan.Seconds.ToString(),"8");
+                musicSlider.Maximum = mediaPlayer.NaturalDuration.TimeSpan.TotalSeconds;
+                musicDispatcher.Start();
+            };
+
+            musicDispatcher = new DispatcherTimer();
+            musicDispatcher.Interval = TimeSpan.FromMilliseconds(1000);
+
+
+            mediaPlayer.MediaEnded += async (es,st) =>
+            {
+                await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, delegate
+                {
+                    //UpdateVideoInfo("no media", "--:--", "5");
+                    //musicDispatcher.Stop();
+                    ExitOrGoBack();
+                });
+            };
+
+            mediaPlayer.MediaFailed += async (s, t) =>
+            {
+                await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, delegate
+                {
+                    //UpdateVideoInfo("no media", "--:--", "5");
+                    if (musicDispatcher.IsEnabled)
+                        musicDispatcher.Stop();
+                    MessageBox mb = new MessageBox();
+                    mb.HeadingText = "Cannot Play Media";
+                    mb.ContentText = "Cannot play this file, do you want to open with other video player?";
+                    mb.LeftButtonHandler += (es, st) => 
+                    {
+                        ExitOrGoBack();
+                    };
+                    mb.RightButtonHandler += async (es, st) =>
+                    {
+                        await Windows.System.Launcher.LaunchFileAsync(isf);
+                    };
+                    MediaFragment.Children.Add(mb);
+                });
+            };
+
+
+            musicDispatcher.Tick += (s, t) =>
+            {
+                musicSlider.Value = mediaPlayer.Position.TotalSeconds;
+                currentDuration.Text = mediaPlayer.Position.Minutes + ":" + mediaPlayer.Position.Seconds;
+
+            };
+            videoName.Text = isf.Name;
+
+        }
+
+        private void ExitOrGoBack()
+        {
+            if (this.Frame.CanGoBack)
+                this.Frame.GoBack();
+            else Application.Current.Exit();
+        }
+
+        private void UpdateVideoInfo(string name, string dur, string playMode)
+        {
+            videoName.Text = name;
+            mediaDuration.Text = dur;
+            musicSlider.Value = 0;
+            playPause.Content = playMode;
+        }
+
+        private void mediaPlayer_ManipulationStarted(object sender, ManipulationStartedRoutedEventArgs e)
+        {
+
+        }
+
+        private void mediaPlayer_ManipulationDelta(object sender, ManipulationDeltaRoutedEventArgs e)
+        {
+
+        }
+
+        private void mediaPlayer_ManipulationCompleted(object sender, ManipulationCompletedRoutedEventArgs e)
+        {
+
+        }
+
+        private void PlayCurrent(object sender, RoutedEventArgs e)
+        {
+            if (mediaPlayer.CurrentState == MediaElementState.Playing)
+            {
+                mediaPlayer.Pause();
+                playPause.Content = "5";
+                //DurationBlink.Begin();
+            }
+            else if (mediaPlayer.CurrentState == MediaElementState.Paused)
+            {
+                mediaPlayer.Play();
+                playPause.Content = "8";
+                //DurationBlink.Stop();
+            }
+
+        }
+
+        private void Grid_Tapped(object sender, TappedRoutedEventArgs e)
+        {
+            if (MENU_HIDDEN)
+                MenuHideRev.Begin();
+            else MenuHide.Begin();
+            MENU_HIDDEN = !MENU_HIDDEN;
+        }
+    }
+}
diff --git a/File360/musiclist.cs b/File360/musiclist.cs
@@ -3,23 +3,74 @@ using System.Collections.Generic;
 using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
+using Windows.UI.Xaml;
+using Windows.UI.Xaml.Media;
 
 namespace File360
 {
-    class musiclist
+    class MusicList
     {
 
-        public string SongName{set;get;}
+        public double ImageHeight
+        {
+            get
+            {
+                if (IsVertical()) return Window.Current.Bounds.Height / 3.5;
+                else return Window.Current.Bounds.Width / 3.5;
+            }
+        }
+        public double ImageWidth
+        {
+            get
+            {
+                if (IsVertical()) return Window.Current.Bounds.Width / 2.2;
+                else return Window.Current.Bounds.Height / 2.2;
+            }
+        }
+
+        public double PicHeight
+        {
+            get
+            {
+                if (IsVertical()) return (Window.Current.Bounds.Height) / 2.5;
+                else return (Window.Current.Bounds.Width) / 2.5;
+            }
+        }
+        public double PicWidth
+        {
+            get
+            {
+                if (IsVertical()) return Window.Current.Bounds.Width / 2;
+                else return Window.Current.Bounds.Height / 2;
+            }
+        }
+        public ImageBrush Background { set; get; }
+        public string SongName { set; get; }
         public string ArtistName { set; get; }
         public string AlbumName { set; get; }
-        public string Musicindex { set; get; }
+        public string Count{ set; get; }
+        public string FolderName { get; set; }
 
-        public musiclist(string songName, string artistName, string albumName, string index)
+        public MusicList(string songName, string artistName, string albumName, ImageBrush background)
         {
             this.SongName = songName;
             this.ArtistName = artistName;
             this.AlbumName = albumName;
-            this.Musicindex = index;
+            this.Background = background;
+        }
+
+        public MusicList(string folderName, int count)
+        {
+            this.FolderName = folderName;
+            this.Count = count.ToString();
+        }
+
+
+        private bool IsVertical()
+        {
+            if (Window.Current.Bounds.Height > Window.Current.Bounds.Width) return true;
+            else return false;
         }
     }
+
 }
diff --git a/File360/packages.config b/File360/packages.config
@@ -1,4 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <packages>
-  <package id="WPtoolkit" version="4.2013.08.16" targetFramework="wp80" />
+  <package id="Coding4Fun.Toolkit.Controls" version="2.1.7" targetFramework="wpa81" />
+  <package id="TagLib.Portable" version="1.0.3" targetFramework="wpa81" />
+  <package id="WinRTXamlToolkit.WindowsPhone" version="1.8.1.0" targetFramework="wpa81" />
+  <package id="WriteableBitmapEx" version="1.5.0.0" targetFramework="wpa81" />
 </packages> 
\ No newline at end of file
diff --git a/File360/picturelist.cs b/File360/picturelist.cs
@@ -2,10 +2,32 @@
 using System.Collections.Generic;
 using System.Linq;
 using System.Text;
+using System.Threading.Tasks;
+using Windows.UI.Xaml.Media;
 
 namespace File360
 {
-    class picturelist<T>
+    class PictureList
     {
+
+        public ImageBrush Preview { set; get; }
+        public string PicName { set; get; }
+        public DateTime PicDate { set; get; } //pic created date.
+        public string Count { set; get; }
+        public string FolderName { get; set; }
+
+        public PictureList(string picName, DateTime picDate, ImageBrush preview)
+        {
+            this.PicName = picName;
+            this.PicDate = picDate;
+            this.Preview = preview;
+        }
+
+        public PictureList(string folderName, int count)
+        {
+            this.FolderName = folderName;
+            this.Count = count.ToString();
+        }
     }
+
 }
diff --git a/File360/sdlist.cs b/File360/sdlist.cs
@@ -1,22 +1,167 @@
-using System.Text;
-using Microsoft.Phone.Storage;
-
+using System;
+using System.Collections.ObjectModel;
+using Windows.Foundation;
+using Windows.Storage.FileProperties;
+using Windows.UI.Xaml;
+using Windows.UI.Xaml.Data;
+using Windows.UI.Xaml.Media;
+using Windows.UI.Xaml.Media.Imaging;
 namespace File360
 {
-    class sdlist
+    public class sdlist
     {
+        public ImageBrush Background { set; get; }
+
+        public double BarHeight
+        {
+            get 
+            {
+                if (IsVertical()) return Window.Current.Bounds.Height / 7.3;
+                else return Window.Current.Bounds.Width / 7.3;
+            }
+        }
+
+
+
+        public double PopupHeight 
+        {
+            get 
+            {
+                if (IsVertical()) return Window.Current.Bounds.Height / 2;
+                else return Window.Current.Bounds.Width / 2;
+            }
+        }
+
+        public string Name { set; get; }
+
+        public string Image { set; get; }
+
+        public string Count { set; get; }
 
-        public string Name 
+        public bool IsVisible { set; get; }
+
+
+        public double VidHeight
+        {
+            get
+            {
+                if (IsVertical()) return Window.Current.Bounds.Height / 4;
+                else return Window.Current.Bounds.Width / 4;
+            }
+        }
+        public double VidWidth
         {
-            set;
-            get;
+            get
+            {
+                if (IsVertical()) return Window.Current.Bounds.Width / 0.95;
+                else return Window.Current.Bounds.Height / 0.95;
+            }
         }
-        public string Name2 { set; get; }
 
-        public sdlist(string name, string FImage)
+        public double PicHeight
+        {
+            get 
+            {
+                if (IsVertical()) return (Window.Current.Bounds.Height - 20) / 3;
+                else return (Window.Current.Bounds.Width -20)  / 3;
+            }
+        }
+        public double PicWidth
+        {
+            get
+            {
+                if (IsVertical()) return Window.Current.Bounds.Width / 2;
+                else return Window.Current.Bounds.Height / 2;
+            }
+        }
+        public double ImageHeight
+        {
+            get 
+            {
+                if (IsVertical()) return Window.Current.Bounds.Height / 3.5; 
+                else return Window.Current.Bounds.Width / 3.5;
+            }
+        }
+        public double ImageWidth
+        {
+            get
+            {
+                if (IsVertical()) return Window.Current.Bounds.Width / 2.2;
+                else return Window.Current.Bounds.Height / 2.2;
+            }
+        }
+        public double Space 
+        { 
+            get { return Window.Current.Bounds.Height / 600; } 
+        }
+        public double GridHeight
+        {
+            get 
+            {
+                if (IsVertical()) return Window.Current.Bounds.Height / 6;
+                else return Window.Current.Bounds.Width / 6; 
+            }
+        }
+        public double GridWidth
+        {
+            get
+            {
+                if (IsVertical()) return (Window.Current.Bounds.Width ) / 3;
+                else return (Window.Current.Bounds.Height) / 3;
+            }
+        }
+        public double ListHeight
+        {
+            get
+            {
+                if (IsVertical()) return Window.Current.Bounds.Height / 8;
+                else return Window.Current.Bounds.Width / 8;
+            }
+        }
+        public double Width
+        {
+            get { return Window.Current.Bounds.Width; }
+        }
+
+        
+        public sdlist(string name, string image)
         {
             this.Name = name;
-            this.Name2 = FImage;
+            this.Image = image;
+            if (image == "f") IsVisible = false;
+            else IsVisible = true;
+        }
+
+string Name;
+string Image;
+
+        public sdlist(string name, string image, string count)
+        {
+            this.Name = name;
+            this.Image = image;
+            this.Count = count;
+        }
+        public sdlist(string name, StorageItemThumbnail background, string count)
+        {
+            ImageBrush im = new ImageBrush();
+            BitmapImage bm = new BitmapImage();
+            bm.SetSource(background);
+            im.ImageSource = bm;
+            im.Stretch = Stretch.UniformToFill;
+            this.Name = name;
+            this.Background = im;
+            this.Count = count;
+        }
+        public sdlist(string name, ImageBrush background, string count)
+        {
+            this.Name = name;
+            this.Background = background;
+            this.Count = count;
+        }
+        private bool IsVertical()
+        {
+            if (Window.Current.Bounds.Height > Window.Current.Bounds.Width) return true;
+            else return false;
         }
     }
 }