diff --git a/HighscorePage.xaml.cs b/HighscorePage.xaml.cs
new file mode 100644
index 0000000000000000000000000000000000000000..cfe4a3e008db32fbd95aebf3452340044498ac99
--- /dev/null
+++ b/HighscorePage.xaml.cs
@@ -0,0 +1,131 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Diagnostics;
+using System.Linq;
+using System.Security.Cryptography.X509Certificates;
+using System.Text;
+using System.Threading.Tasks;
+using Xamarin.Forms;
+using System.IO.IsolatedStorage;
+using System.IO;
+using System.Xml.Serialization;
+using System.Collections.ObjectModel;
+
+namespace App3
+{
+    // Learn more about making custom code visible in the Xamarin.Forms previewer
+    // by visiting https://aka.ms/xamarinforms-previewer
+    [DesignTimeVisible(false)]
+    public partial class Highscore : ContentPage
+    {
+        const string highscoresFilename = "highscores.xml";
+        public static List<HighscoreItem> scores;
+
+        public Highscore()
+        {
+            InitializeComponent();
+            // .ItemsSource = Scores;
+            BindingContext = new List<HighscoreItem>(); // 08.06.20
+            //Load();
+
+        }
+
+
+        /* private void InitializeComponent()
+         {
+             throw new NotImplementedException();
+         }
+
+         public void ToolbarItemActivatedStart(object sender, EventArgs e)
+         {
+             Navigation.PushAsync(new Page1());
+         }
+
+         static public void Load()
+         {
+             scores = new List<HighscoreItem> ();
+             IsolatedStorageFile store = IsolatedStorageFile.GetUserStoreForApplication();
+
+             // Create empty list if the highscores file does not exist.
+             // This is needed when the application is started for the first time.
+             if (!store.FileExists(highscoresFilename))
+             {
+                 for (int i = 1; i <= 5; i++)
+                 {
+                     scores.Add(new HighscoreItem(i,
+                         new TimeSpan(0, 59, 59)));
+                 }
+                 Save();
+                 return;
+             }
+
+             // Open the file and use XmlSerializer to deserialize the xml file into
+             // a list of HighscoreItems.
+             using (IsolatedStorageFileStream stream = store.OpenFile(highscoresFilename, FileMode.Open))
+             {
+                 using (StreamReader reader = new StreamReader(stream))
+                 {
+                     XmlSerializer serializer = new XmlSerializer(scores.GetType());
+                     scores = (List <HighscoreItem>)serializer.Deserialize(reader);
+                 }
+             }
+         }
+
+         /// <summary>
+         /// Saves the highscores to isolated storage.
+         /// </summary>
+         static public void Save()
+         {
+             IsolatedStorageFile store = IsolatedStorageFile.GetUserStoreForApplication();
+
+             // Open the file and use XmlSerializer to serialize the list into the file
+             using (IsolatedStorageFileStream stream = store.CreateFile(highscoresFilename))
+             {
+                 using (StreamWriter writer = new StreamWriter(stream))
+                 {
+                     XmlSerializer serializer = new XmlSerializer(scores.GetType());
+                     serializer.Serialize(writer, scores);
+                     writer.Flush();
+                 }
+             }
+         }
+
+         /// <summary>
+         /// Checks if given score is a new highscore
+         /// </summary>
+         /// <param name="score">Score to check. The score should contain at least the solving time and moves.</param>
+         /// <returns>The position in highscore list, or zero if the score doesn't make it to the list</returns>
+         public static int IsNewHighscore(HighscoreItem score)
+         {
+             foreach (HighscoreItem item in scores)
+             {
+
+
+                 if (score.Time < item.Time ||
+                     (score.Time == item.Time))
+                     return item.Index;
+             }
+
+             return 0;
+         }
+
+         /// <summary>
+         /// Add a new score to highscore list
+         /// </summary>
+         /// <param name="score">Score to add. All members of the score should be filled.</param>
+         public static void AddNewHighscore(HighscoreItem score)
+         {
+             // Insert the score into the list, remove weakest score from the list
+             // and save the list.
+             if (score.Index <= 0)
+                 return;
+             scores.Insert(score.Index - 1, score);
+             scores.RemoveAt(scores.Count - 1);
+             for (int t = score.Index; t < scores.Count; t++)
+                 scores[t].Index++;
+             Save();
+         }
+     }*/
+    }
+}