diff --git a/src/main/java/no/ntnu/idatt1002/demo/controller/ExpensesController.java b/src/main/java/no/ntnu/idatt1002/demo/controller/ExpensesController.java
index d0f1cd4c00680c33635d20fed172159d006a9560..3eedc713937c6cbdcd8a65b1a1278edb3f708913 100644
--- a/src/main/java/no/ntnu/idatt1002/demo/controller/ExpensesController.java
+++ b/src/main/java/no/ntnu/idatt1002/demo/controller/ExpensesController.java
@@ -41,9 +41,6 @@ public class ExpensesController {
 
   @FXML
   private Button addBtn;
-
-  @FXML
-  private TextField descriptionField;
   @FXML
   private Button editBtn;
 
@@ -75,11 +72,12 @@ public class ExpensesController {
   ObservableList<Expense> expenses;
 
   @FXML
-  public void initialize() {
+  public void initialize() throws IOException {
     ObservableList<String> filter = FXCollections.observableArrayList("All", "Other", "Food");
     show.setItems(filter);
     show.setValue("All");
 
+    //expenseRegister = loadDataFromFile("wawawiwa");
     Expense newExpense = new Expense(99, true, ExpenseCategory.FOOD, "1/1/23");
     expenseRegister.addItem(newExpense);
     expenses = FXCollections.observableArrayList(expenseRegister.getItems());
@@ -90,8 +88,6 @@ public class ExpensesController {
     descriptionColumn.setCellValueFactory(new PropertyValueFactory<Expense, String>("description"));
     recurringColumn.setCellValueFactory(new PropertyValueFactory<Expense, Boolean>("recurring"));
 
-    //loadDataFromFile();
-
     refreshObservableList();
     expenseTableView.setItems(expenses);
   }
@@ -173,16 +169,23 @@ public class ExpensesController {
     return alert.showAndWait();
   }
 
-  public void loadDataFromFile(String fileName) {
+  public ExpenseRegister loadDataFromFile(String fileName) throws IOException {
     FileHandling fileHandling = new FileHandling();
-    File file = new File(System.getProperty("user.dir") + "/src/main/resources/" + fileName + ".txt");
-    if (file.length() == 0) {
-
+    if (fileHandling.isEmpty(fileName)) {
+      //expenseRegister = new ExpenseRegister();
+    } else {
+      expenseRegister = fileHandling.readExpenseRegisterFromFile(fileName);
     }
+    return expenseRegister;
+  }
 
+  public void saveDataToFile(String fileName) throws IOException {
+    FileHandling fileHandling = new FileHandling();
+    fileHandling.writeItemRegisterToFile(expenseRegister, fileName);
   }
   @FXML
   protected void switchIncome(ActionEvent event) throws IOException {
+    saveDataToFile("Expenses");
     FXMLLoader loader = new FXMLLoader(SceneController.class.getResource("/view/Income.fxml"));
     Parent root = loader.load();
     Stage stage = (Stage)((Node)event.getSource()).getScene().getWindow();
@@ -191,7 +194,15 @@ public class ExpensesController {
     stage.show();
   }
 
-  public void switchOverview(ActionEvent event) {
+  @FXML
+  public void switchOverview(ActionEvent event) throws IOException {
+    saveDataToFile("Expenses");
+    FXMLLoader loader = new FXMLLoader(SceneController.class.getResource("/view/Overview.fxml"));
+    Parent root = loader.load();
+    Stage stage = (Stage)((Node)event.getSource()).getScene().getWindow();
+    Scene scene = new Scene(root);
+    stage.setScene(scene);
+    stage.show();
 
   }
 }