diff --git a/javadoc/no/ntnu/idatt1002/demo/MyApp.html b/javadoc/no/ntnu/idatt1002/demo/MyApp.html
index 14f844d22f3184ac952d2988d1021e3db1ad1b58..dd8d81de49f194f79515b2cfff7d951d2fb1a010 100644
--- a/javadoc/no/ntnu/idatt1002/demo/MyApp.html
+++ b/javadoc/no/ntnu/idatt1002/demo/MyApp.html
@@ -88,7 +88,7 @@ loadScripts(document, 'script');</script>
 <h1 title="Class MyApp" class="title">Class MyApp</h1>
 </div>
 <div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
-<div class="inheritance">no.ntnu.idatt1002.demo.MyApp</div>
+<div class="inheritance">no.ntnu.idatt1002.demo.view.MyApp</div>
 </div>
 <section class="class-description" id="class-description">
 <hr>
diff --git a/javadoc/no/ntnu/idatt1002/demo/class-use/MyApp.html b/javadoc/no/ntnu/idatt1002/demo/class-use/MyApp.html
index 4adb36b01f52cf9f0cdadfd3cbc3c703dc5da2f2..03126e52d417253d41cbf991d258038a6026da19 100644
--- a/javadoc/no/ntnu/idatt1002/demo/class-use/MyApp.html
+++ b/javadoc/no/ntnu/idatt1002/demo/class-use/MyApp.html
@@ -2,7 +2,7 @@
 <html lang="en">
 <head>
 <!-- Generated by javadoc (19) on Thu Feb 02 10:19:17 CET 2023 -->
-<title>Uses of Class no.ntnu.idatt1002.demo.MyApp (demo 1.0-SNAPSHOT API)</title>
+<title>Uses of Class no.ntnu.idatt1002.demo.view.MyApp (demo 1.0-SNAPSHOT API)</title>
 <meta name="viewport" content="width=device-width, initial-scale=1">
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <meta name="dc.created" content="2023-02-02">
@@ -50,9 +50,9 @@ loadScripts(document, 'script');</script>
 <div class="flex-content">
 <main role="main">
 <div class="header">
-<h1 title="Uses of Class no.ntnu.idatt1002.demo.MyApp" class="title">Uses of Class<br>no.ntnu.idatt1002.demo.MyApp</h1>
+<h1 title="Uses of Class no.ntnu.idatt1002.demo.view.MyApp" class="title">Uses of Class<br>no.ntnu.idatt1002.demo.view.MyApp</h1>
 </div>
-No usage of no.ntnu.idatt1002.demo.MyApp</main>
+No usage of no.ntnu.idatt1002.demo.view.MyApp</main>
 <footer role="contentinfo">
 <hr>
 <p class="legal-copy"><small>Copyright &#169; 2023. All rights reserved.</small></p>
diff --git a/pom.xml b/pom.xml
index 454e08c12b85f37e49b785ea36d3e5e9e8e4a768..e60349b91d2981bb74468c723a55e5f0760f2a39 100644
--- a/pom.xml
+++ b/pom.xml
@@ -152,7 +152,7 @@
                             <archive>
                                 <manifest>
                                     <mainClass>
-                                        no.ntnu.idatt1002.demo.MyApp
+                                        no.ntnu.idatt1002.demo.view.MyApp
                                     </mainClass>
                                 </manifest>
                             </archive>
@@ -172,7 +172,7 @@
                         <!-- Default configuration for running with: mvn clean javafx:run -->
                         <id>default-cli</id>
                         <configuration>
-                            <mainClass>no.ntnu.idatt1002.demo/no.ntnu.idatt1002.demo.MyApp</mainClass>
+                            <mainClass>no.ntnu.idatt1002.demo/no.ntnu.idatt1002.demo.view.MyApp</mainClass>
                             <launcher>app</launcher>
                             <jlinkZipName>app</jlinkZipName>
                             <jlinkImageName>app</jlinkImageName>
diff --git a/src/main/java/no/ntnu/idatt1002/demo/controller/SceneController.java b/src/main/java/no/ntnu/idatt1002/demo/controller/SceneController.java
new file mode 100644
index 0000000000000000000000000000000000000000..fdc282265c2ba338ede7629d6e5e7551a3dfdede
--- /dev/null
+++ b/src/main/java/no/ntnu/idatt1002/demo/controller/SceneController.java
@@ -0,0 +1,135 @@
+package no.ntnu.idatt1002.demo.controller;
+
+import java.awt.event.InputEvent;
+import java.io.IOException;
+
+import javafx.event.ActionEvent;
+import javafx.fxml.FXML;
+import javafx.fxml.FXMLLoader;
+import javafx.scene.Node;
+import javafx.scene.Parent;
+import javafx.scene.Scene;
+import javafx.stage.Modality;
+import javafx.stage.Stage;
+
+public class SceneController /*implements Initializable*/ {
+
+  private Stage stage;
+  private Scene scene;
+  private Parent root;
+
+  /*@FXML
+  private Button add;
+
+  @FXML
+  private ComboBox<?> show;
+
+  @FXML
+  private TableColumn<Expense, Double> amount;
+
+  @FXML
+  private TableColumn<Expense, ExpenseCategory> category;
+
+  @FXML
+  private TableColumn<Expense, String> date;
+
+  @FXML
+  private TableColumn<Expense, String> description;
+
+  @FXML
+  private TableView<Expense> expenseTableView;
+
+  ObservableList<Expense> expenses = FXCollections.observableArrayList(
+      new Expense("", 1000.00, true, ExpenseCategory.FOOD, "1/1/23")
+  );
+  @Override
+  public void initialize(URL url, ResourceBundle resourceBundle) {
+    amount.setCellValueFactory(new PropertyValueFactory<Expense, Double>("amount"));
+    category.setCellValueFactory(new PropertyValueFactory<Expense, ExpenseCategory>("category"));
+    date.setCellValueFactory(new PropertyValueFactory<Expense, String>("date"));
+    description.setCellValueFactory(new PropertyValueFactory<Expense, String>("description"));
+
+    expenseTableView.setItems(expenses);
+  }*/
+
+  public void switchStartMenu(ActionEvent event) throws IOException {
+    FXMLLoader loader = new FXMLLoader(getClass().getResource("/view/FirstMenu.fxml"));
+    root = loader.load();
+    stage = (Stage)((Node)event.getSource()).getScene().getWindow();
+    scene = new Scene(root);
+    stage.setScene(scene);
+    stage.show();
+  }
+  public void switchNewBudget(ActionEvent event) throws IOException {
+    FXMLLoader loader = new FXMLLoader(SceneController.class.getResource("/view/NewBudget.fxml"));
+    Parent root = loader.load();
+    stage = (Stage)((Node)event.getSource()).getScene().getWindow();
+    scene = new Scene(root);
+    stage.setScene(scene);
+    stage.show();
+  }
+
+  public void switchIncome(ActionEvent event) throws IOException {
+    FXMLLoader loader = new FXMLLoader(SceneController.class.getResource("/view/Income.fxml"));
+    Parent root = loader.load();
+    stage = (Stage)((Node)event.getSource()).getScene().getWindow();
+    scene = new Scene(root);
+    stage.setScene(scene);
+    stage.show();
+  }
+
+  public void switchExpenses(ActionEvent event) throws IOException {
+    FXMLLoader loader = new FXMLLoader(SceneController.class.getResource("/view/Expenses.fxml"));
+    Parent root = loader.load();
+    stage = (Stage)((Node)event.getSource()).getScene().getWindow();
+    scene = new Scene(root);
+    stage.setScene(scene);
+    stage.show();
+  }
+
+  public void switchOverview(ActionEvent event) throws IOException {
+    FXMLLoader loader = new FXMLLoader(SceneController.class.getResource("/view/Overview.fxml"));
+    Parent root = loader.load();
+    stage = (Stage)((Node)event.getSource()).getScene().getWindow();
+    scene = new Scene(root);
+    stage.setScene(scene);
+    stage.show();
+  }
+
+  public void addExpense(ActionEvent event) throws IOException {
+    FXMLLoader loader = new FXMLLoader(SceneController.class.getResource("/view/addExpense.fxml"));
+    Scene newScene = new Scene(loader.load());
+    Stage newStage = new Stage();
+    newStage.setScene(newScene);
+    newStage.setResizable(false);
+    newStage.initModality(Modality.APPLICATION_MODAL);
+
+    newStage.show();
+  }
+  public void addIncome(ActionEvent event) throws IOException {
+    FXMLLoader loader = new FXMLLoader(SceneController.class.getResource("/view/addIncome.fxml"));
+    Scene newScene = new Scene(loader.load());
+    Stage newStage = new Stage();
+    newStage.setScene(newScene);
+    newStage.setResizable(false);
+    newStage.initModality(Modality.APPLICATION_MODAL);
+
+    newStage.show();
+  }
+
+  public void underProgress(ActionEvent event) throws IOException{
+    FXMLLoader loader = new FXMLLoader(SceneController.class.getResource("/view/underProgress.fxml"));
+    Scene newScene = new Scene(loader.load());
+    Stage newStage = new Stage();
+    newStage.setScene(newScene);
+    newStage.setResizable(false);
+    newStage.initModality(Modality.APPLICATION_MODAL);
+
+    newStage.show();
+  }
+  public void closeButton(ActionEvent actionEvent) {
+    final Node source = (Node) actionEvent.getSource();
+    final Stage stage = (Stage) source.getScene().getWindow();
+    stage.close();;
+  }
+}
diff --git a/src/main/java/no/ntnu/idatt1002/demo/view/App.java b/src/main/java/no/ntnu/idatt1002/demo/view/App.java
new file mode 100644
index 0000000000000000000000000000000000000000..91586aac95fe94e6f494429e275f87f11130f5c3
--- /dev/null
+++ b/src/main/java/no/ntnu/idatt1002/demo/view/App.java
@@ -0,0 +1,7 @@
+package no.ntnu.idatt1002.demo.view;
+
+public class App {
+    public static void main(String[] args) {
+        MyApp.main(args);
+    }
+}
\ No newline at end of file
diff --git a/src/main/java/no/ntnu/idatt1002/demo/view/ExpenseDialog.java b/src/main/java/no/ntnu/idatt1002/demo/view/ExpenseDialog.java
new file mode 100644
index 0000000000000000000000000000000000000000..76df851c669e85bc522a5cf9bfaefe70258e9efd
--- /dev/null
+++ b/src/main/java/no/ntnu/idatt1002/demo/view/ExpenseDialog.java
@@ -0,0 +1,167 @@
+package no.ntnu.idatt1002.demo.view;
+
+import javafx.geometry.Insets;
+import javafx.scene.control.ButtonType;
+import javafx.scene.control.Dialog;
+import javafx.scene.control.Label;
+import javafx.scene.control.TextField;
+import javafx.scene.layout.GridPane;
+import no.ntnu.idatt1002.demo.data.Expense;
+
+public class ExpenseDialog extends Dialog<Expense> {
+
+  public enum Mode {
+    NEW, EDIT
+  }
+
+  //private final Mode mode;
+
+ /*
+ package edu.ntnu.idatt2001.mvc.contacts.views;
+
+import edu.ntnu.idatt2001.mvc.contacts.model.Contact;
+import javafx.geometry.Insets;
+import javafx.scene.control.ButtonType;
+import javafx.scene.control.Dialog;
+import javafx.scene.control.Label;
+import javafx.scene.control.TextField;
+import javafx.scene.layout.GridPane;
+
+ public class ContactDetailsDialog extends Dialog<Contact> {
+
+
+   public enum Mode {
+     NEW, EDIT, INFO
+   }
+
+
+   private final Mode mode;
+
+   private Contact existingContact = null;
+   public ContactDetailsDialog() {
+     super();
+     this.mode = Mode.NEW;
+     // Create the content of the dialog
+     createContent();
+
+   }
+
+   public ContactDetailsDialog(Contact contact, boolean editable) {
+     super();
+     if (editable) {
+       this.mode = Mode.EDIT;
+     } else {
+       this.mode = Mode.INFO;
+     }
+     this.existingContact = contact;
+     // Create the content of the dialog
+     createContent();
+   }
+
+
+   private void createContent() {
+     // Set title depending upon mode...
+     switch (this.mode) {
+       case EDIT:
+         setTitle("Contact Details - Edit");
+         break;
+
+       case NEW:
+         setTitle("Contact Details - Add");
+         break;
+
+       case INFO:
+         setTitle("Contact Details");
+         break;
+
+       default:
+         setTitle("Contact Details - UNKNOWN MODE...");
+         break;
+
+     }
+
+     // Set the button types.
+     getDialogPane().getButtonTypes().addAll(ButtonType.OK, ButtonType.CANCEL);
+
+     GridPane grid = new GridPane();
+     grid.setHgap(10);
+     grid.setVgap(10);
+     grid.setPadding(new Insets(20, 150, 10, 10));
+
+     TextField name = new TextField();
+     name.setPromptText("Name");
+
+     TextField address = new TextField();
+     address.setPromptText("Address");
+
+     TextField phoneNumber = new TextField();
+     phoneNumber.setPromptText("Phone number");
+
+     // Fill inn data from the provided Newspaper, if not null.
+     if ((mode == Mode.EDIT) || (mode == Mode.INFO)) {
+       name.setText(existingContact.getName());
+       address.setText(existingContact.getAddress());
+       phoneNumber.setText(existingContact.getPhone());
+       // Set to non-editable if Mode.INFO
+       if (mode == Mode.INFO) {
+         name.setEditable(false);
+         address.setEditable(false);
+         phoneNumber.setEditable(false);
+       }
+     }
+
+     grid.add(new Label("Name:"), 0, 0);
+     grid.add(name, 1, 0);
+     grid.add(new Label("Address:"), 0, 1);
+     grid.add(address, 1, 1);
+     grid.add(new Label("Phone number:"), 0, 2);
+     grid.add(phoneNumber, 1, 2);
+
+     getDialogPane().setContent(grid);
+
+     // Convert the result to ContactDetails-instance when the OK button is clicked.
+     // Check out:
+     // https://docs.oracle.com/javase/8/javafx/api/javafx/scene/control/Dialog.html#setResultConverter-javafx.util.Callback-
+     // and: https://docs.oracle.com/javase/8/javafx/api/javafx/util/Callback.html
+     setResultConverter((ButtonType button) -> {
+       Contact result = null;
+       if (button == ButtonType.OK) {
+
+         if (mode == Mode.NEW) {
+           result = new Contact(name.getText(), phoneNumber.getText(), address.getText());
+         } else if (mode == Mode.EDIT) {
+           existingContact.setName(name.getText());
+           existingContact.setAddress(address.getText());
+           existingContact.setPhone(phoneNumber.getText());
+
+           result = existingContact;
+         }
+       }
+       return result;
+     });
+   }
+ }
+
+
+
+  public ExpenseDialog() {
+    super();
+    this.mode = Mode.NEW;
+    // Create the content of the dialog
+    createContent();
+  }
+
+
+  public ExpenseDialog(Expense expense, boolean editable) {
+    super();
+    if (editable) {
+      this.mode = Mode.EDIT;
+    } else {
+      this.mode = Mode.INFO;
+    }
+    this. = contact;
+    // Create the content of the dialog
+    createContent();
+  }*/
+
+}
diff --git a/src/main/java/no/ntnu/idatt1002/demo/view/MyApp.java b/src/main/java/no/ntnu/idatt1002/demo/view/MyApp.java
new file mode 100644
index 0000000000000000000000000000000000000000..171e4e68702e7fe81de7206e458f8315e824b6ba
--- /dev/null
+++ b/src/main/java/no/ntnu/idatt1002/demo/view/MyApp.java
@@ -0,0 +1,25 @@
+package no.ntnu.idatt1002.demo.view;
+
+import javafx.application.Application;
+import javafx.fxml.FXMLLoader;
+import javafx.stage.Stage;
+import javafx.scene.Parent;
+import javafx.scene.Scene;
+
+import java.io.IOException;
+
+public class MyApp extends Application {
+
+    @Override
+    public void start(Stage stage) throws IOException {
+      FXMLLoader loader = new FXMLLoader(getClass().getResource("/view/FirstMenu.fxml"));
+      Parent root = loader.load();
+      Scene scene = new Scene(root);
+      stage.setScene(scene);
+      stage.show();
+    }
+
+    public static void main(String[] args) {
+        launch(args);
+    }
+}
\ No newline at end of file
diff --git a/src/main/java/no/ntnu/idatt1002/demo/view/NewBudget.java b/src/main/java/no/ntnu/idatt1002/demo/view/NewBudget.java
new file mode 100644
index 0000000000000000000000000000000000000000..2844313e33642897ff58d598a5b62e2e162c073d
--- /dev/null
+++ b/src/main/java/no/ntnu/idatt1002/demo/view/NewBudget.java
@@ -0,0 +1,42 @@
+package no.ntnu.idatt1002.demo.view;
+
+import javafx.geometry.Insets;
+import javafx.geometry.Pos;
+import javafx.scene.Scene;
+import javafx.scene.control.Button;
+import javafx.scene.control.Label;
+import javafx.scene.control.TextArea;
+import javafx.scene.image.Image;
+import javafx.scene.image.ImageView;
+import javafx.scene.layout.HBox;
+import javafx.scene.layout.Pane;
+import javafx.scene.layout.StackPane;
+import javafx.scene.layout.VBox;
+import javafx.scene.text.Font;
+import javafx.scene.text.FontPosture;
+import javafx.scene.text.FontWeight;
+import javafx.stage.Stage;
+
+import java.io.FileInputStream;
+import java.io.IOException;
+
+public class NewBudget {
+
+    private static StackPane root;
+    public static Pane getRoot() throws IOException {
+
+        TextArea income = new TextArea();
+        TextArea income2 = new TextArea();
+        income.setMaxSize(200, 20);
+        income2.setMaxSize(200, 20);
+        VBox inputs = new VBox();
+        inputs.getChildren().addAll(income, income2);
+        inputs.setAlignment(Pos.CENTER);
+        inputs.setSpacing(100);
+
+
+        return root;
+    }
+
+}
+
diff --git a/src/main/resources/Images/add_expense.png b/src/main/resources/Images/add_expense.png
new file mode 100644
index 0000000000000000000000000000000000000000..0c0773f42c667ed370652c4b5e75cb993a0bf2cf
Binary files /dev/null and b/src/main/resources/Images/add_expense.png differ
diff --git a/src/main/resources/Images/backgroundMini.jpg b/src/main/resources/Images/backgroundMini.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..d67d659fd817307112ddf542096c0b5ecdb014f9
Binary files /dev/null and b/src/main/resources/Images/backgroundMini.jpg differ
diff --git a/src/main/resources/Images/budgetbuddycover.jpeg b/src/main/resources/Images/budgetbuddycover.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..75e7f244e9d27b0416904cef73a52d3d88111f20
Binary files /dev/null and b/src/main/resources/Images/budgetbuddycover.jpeg differ
diff --git a/src/main/resources/Images/monthly_budget_overview.fxml b/src/main/resources/Images/monthly_budget_overview.fxml
new file mode 100644
index 0000000000000000000000000000000000000000..edf79ef2993e2d3d1ee0e2ece9bd551130c34f54
--- /dev/null
+++ b/src/main/resources/Images/monthly_budget_overview.fxml
@@ -0,0 +1,135 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<?import javafx.geometry.Insets?>
+<?import javafx.scene.Cursor?>
+<?import javafx.scene.control.Button?>
+<?import javafx.scene.control.DatePicker?>
+<?import javafx.scene.control.Label?>
+<?import javafx.scene.control.ProgressBar?>
+<?import javafx.scene.image.Image?>
+<?import javafx.scene.image.ImageView?>
+<?import javafx.scene.layout.AnchorPane?>
+<?import javafx.scene.layout.BorderPane?>
+<?import javafx.scene.layout.ColumnConstraints?>
+<?import javafx.scene.layout.GridPane?>
+<?import javafx.scene.layout.HBox?>
+<?import javafx.scene.layout.Region?>
+<?import javafx.scene.layout.RowConstraints?>
+<?import javafx.scene.text.Font?>
+<?import javafx.scene.text.Text?>
+
+
+<AnchorPane xmlns="http://javafx.com/javafx/19" xmlns:fx="http://javafx.com/fxml/1">
+   <children>
+      <ImageView fitHeight="400.0" fitWidth="600.0" pickOnBounds="true">
+         <cursor>
+            <Cursor fx:constant="DEFAULT" />
+         </cursor>
+      </ImageView>
+      <BorderPane prefHeight="400.0" prefWidth="600.0" AnchorPane.topAnchor="0.0">
+         <center>
+            <GridPane gridLinesVisible="true" BorderPane.alignment="CENTER">
+              <columnConstraints>
+                <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
+                <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
+              </columnConstraints>
+              <rowConstraints>
+                <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
+                <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
+                <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
+              </rowConstraints>
+               <children>
+                  <HBox prefHeight="68.0" prefWidth="574.0" GridPane.columnSpan="2">
+                     <children>
+                        <Region prefHeight="108.0" prefWidth="270.0" />
+                        <Label text="Label" />
+                        <Region prefHeight="108.0" prefWidth="100.0" />
+                        <DatePicker />
+                     </children>
+                  </HBox>
+                  <AnchorPane GridPane.columnSpan="2" GridPane.rowIndex="1">
+                     <children>
+                        <ProgressBar layoutX="9.0" layoutY="41.0" prefHeight="18.0" prefWidth="554.0" progress="0.37" />
+                     </children>
+                  </AnchorPane>
+                  <HBox alignment="CENTER" prefHeight="100.0" prefWidth="200.0" spacing="50.0" GridPane.columnSpan="2" GridPane.rowIndex="2">
+                     <children>
+                        <Button contentDisplay="TOP" mnemonicParsing="false" prefHeight="125.0" prefWidth="125.0" text="Food">
+                           <graphic>
+                              <ImageView fitHeight="63.0" fitWidth="87.0" pickOnBounds="true">
+                                 <cursor>
+                                    <Cursor fx:constant="DEFAULT" />
+                                 </cursor>
+                                 <image>
+                                    <Image url="@pizzaslice.png" />
+                                 </image>
+                              </ImageView>
+                           </graphic>
+                        </Button>
+                        <Button contentDisplay="TOP" mnemonicParsing="false" prefHeight="125.0" prefWidth="125.0" text="Add expense">
+                           <graphic>
+                              <ImageView fitHeight="79.0" fitWidth="87.0" pickOnBounds="true">
+                                 <cursor>
+                                    <Cursor fx:constant="DEFAULT" />
+                                 </cursor>
+                                 <image>
+                                    <Image url="@add_expense.png" />
+                                 </image>
+                              </ImageView>
+                           </graphic>
+                        </Button>
+                        <Button contentDisplay="TOP" mnemonicParsing="false" prefHeight="125.0" prefWidth="125.0" text="Overview">
+                           <graphic>
+                              <ImageView fitHeight="63.0" fitWidth="87.0" pickOnBounds="true">
+                                 <cursor>
+                                    <Cursor fx:constant="DEFAULT" />
+                                 </cursor>
+                                 <image>
+                                    <Image url="@overview_stonks.png" />
+                                 </image>
+                              </ImageView>
+                           </graphic>
+                        </Button>
+                     </children>
+                  </HBox>
+               </children>
+            </GridPane>
+         </center>
+         <bottom>
+            <Region prefHeight="8.0" prefWidth="600.0" BorderPane.alignment="CENTER" />
+         </bottom>
+         <left>
+            <Region prefHeight="287.0" prefWidth="14.0" BorderPane.alignment="CENTER" />
+         </left>
+         <right>
+            <Region prefHeight="287.0" prefWidth="12.0" BorderPane.alignment="CENTER" />
+         </right>
+         <top>
+            <HBox BorderPane.alignment="CENTER">
+               <children>
+                  <Button mnemonicParsing="false" onAction="#switchIncome" text="Return ">
+                     <opaqueInsets>
+                        <Insets left="100.0" />
+                     </opaqueInsets>
+                     <HBox.margin>
+                        <Insets left="10.0" top="10.0" />
+                     </HBox.margin>
+                  </Button>
+                  <Region prefHeight="70.0" prefWidth="103.0" />
+                  <Text strokeType="OUTSIDE" strokeWidth="0.0" text="BUDGET FEBRUARY" textAlignment="CENTER">
+                     <HBox.margin>
+                        <Insets />
+                     </HBox.margin>
+                     <font>
+                        <Font size="30.0" />
+                     </font>
+                  </Text>
+               </children>
+               <opaqueInsets>
+                  <Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
+               </opaqueInsets>
+            </HBox>
+         </top>
+      </BorderPane>
+   </children>
+</AnchorPane>
diff --git a/src/main/resources/Images/overview_stonks.png b/src/main/resources/Images/overview_stonks.png
new file mode 100644
index 0000000000000000000000000000000000000000..b9cbdc6e52faf7102423b713a3e72152375f5f59
Binary files /dev/null and b/src/main/resources/Images/overview_stonks.png differ
diff --git a/src/main/resources/Images/pizzaslice.png b/src/main/resources/Images/pizzaslice.png
new file mode 100644
index 0000000000000000000000000000000000000000..6ab7c2818c2abe9a91e263d18c57b19ed7c66101
Binary files /dev/null and b/src/main/resources/Images/pizzaslice.png differ
diff --git a/src/main/resources/Images/underProgress.png b/src/main/resources/Images/underProgress.png
new file mode 100644
index 0000000000000000000000000000000000000000..74a260f5f282404981802a61eb99c830318a8880
Binary files /dev/null and b/src/main/resources/Images/underProgress.png differ
diff --git a/src/main/resources/view/AddExpense.fxml b/src/main/resources/view/AddExpense.fxml
new file mode 100644
index 0000000000000000000000000000000000000000..097992b0c7320fa41a777df6abb7036ab8274662
--- /dev/null
+++ b/src/main/resources/view/AddExpense.fxml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<?import javafx.geometry.Insets?>
+<?import javafx.scene.control.Button?>
+<?import javafx.scene.control.ComboBox?>
+<?import javafx.scene.control.Label?>
+<?import javafx.scene.control.TextField?>
+<?import javafx.scene.layout.ColumnConstraints?>
+<?import javafx.scene.layout.GridPane?>
+<?import javafx.scene.layout.RowConstraints?>
+
+<GridPane hgap="10.0" vgap="10.0" xmlns="http://javafx.com/javafx/19" xmlns:fx="http://javafx.com/fxml/1" fx:controller="no.ntnu.idatt1002.demo.controller.SceneController">
+   <columnConstraints>
+      <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
+      <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
+      <ColumnConstraints hgrow="SOMETIMES" maxWidth="95.0" minWidth="10.0" prefWidth="11.0" />
+      <ColumnConstraints hgrow="SOMETIMES" maxWidth="189.0" minWidth="10.0" prefWidth="189.0" />
+   </columnConstraints>
+   <rowConstraints>
+      <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
+      <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
+      <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
+      <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
+      <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
+   </rowConstraints>
+   <padding>
+      <Insets bottom="10.0" left="10.0" top="20.0" />
+   </padding>
+   <children>
+      <Label text="Date:" />
+      <Label text="Amount:" GridPane.rowIndex="1" />
+      <Label text="Description:" GridPane.rowIndex="2" />
+      <Label text="Category" GridPane.rowIndex="3">
+         <GridPane.margin>
+            <Insets />
+         </GridPane.margin>
+      </Label>
+      <TextField promptText="Date" GridPane.columnIndex="1" GridPane.columnSpan="2" />
+      <TextField promptText="Amount" GridPane.columnIndex="1" GridPane.columnSpan="2" GridPane.rowIndex="1" />
+      <TextField promptText="Description (optional)" GridPane.columnIndex="1" GridPane.columnSpan="2" GridPane.rowIndex="2" />
+      <ComboBox prefWidth="150.0" GridPane.columnIndex="1" GridPane.rowIndex="3">
+         <GridPane.margin>
+            <Insets />
+         </GridPane.margin>
+      </ComboBox>
+      <Button mnemonicParsing="false" onAction="#closeButton" text="Cancel" GridPane.columnIndex="3" GridPane.rowIndex="4">
+         <GridPane.margin>
+            <Insets left="75.0" />
+         </GridPane.margin>
+      </Button>
+      <Button mnemonicParsing="false" onAction="#closeButton" text="Button" GridPane.columnIndex="3" GridPane.rowIndex="4">
+         <GridPane.margin>
+            <Insets left="130.0" />
+         </GridPane.margin>
+      </Button>
+   </children>
+</GridPane>
diff --git a/src/main/resources/view/AddIncome.fxml b/src/main/resources/view/AddIncome.fxml
new file mode 100644
index 0000000000000000000000000000000000000000..097992b0c7320fa41a777df6abb7036ab8274662
--- /dev/null
+++ b/src/main/resources/view/AddIncome.fxml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<?import javafx.geometry.Insets?>
+<?import javafx.scene.control.Button?>
+<?import javafx.scene.control.ComboBox?>
+<?import javafx.scene.control.Label?>
+<?import javafx.scene.control.TextField?>
+<?import javafx.scene.layout.ColumnConstraints?>
+<?import javafx.scene.layout.GridPane?>
+<?import javafx.scene.layout.RowConstraints?>
+
+<GridPane hgap="10.0" vgap="10.0" xmlns="http://javafx.com/javafx/19" xmlns:fx="http://javafx.com/fxml/1" fx:controller="no.ntnu.idatt1002.demo.controller.SceneController">
+   <columnConstraints>
+      <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
+      <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
+      <ColumnConstraints hgrow="SOMETIMES" maxWidth="95.0" minWidth="10.0" prefWidth="11.0" />
+      <ColumnConstraints hgrow="SOMETIMES" maxWidth="189.0" minWidth="10.0" prefWidth="189.0" />
+   </columnConstraints>
+   <rowConstraints>
+      <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
+      <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
+      <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
+      <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
+      <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
+   </rowConstraints>
+   <padding>
+      <Insets bottom="10.0" left="10.0" top="20.0" />
+   </padding>
+   <children>
+      <Label text="Date:" />
+      <Label text="Amount:" GridPane.rowIndex="1" />
+      <Label text="Description:" GridPane.rowIndex="2" />
+      <Label text="Category" GridPane.rowIndex="3">
+         <GridPane.margin>
+            <Insets />
+         </GridPane.margin>
+      </Label>
+      <TextField promptText="Date" GridPane.columnIndex="1" GridPane.columnSpan="2" />
+      <TextField promptText="Amount" GridPane.columnIndex="1" GridPane.columnSpan="2" GridPane.rowIndex="1" />
+      <TextField promptText="Description (optional)" GridPane.columnIndex="1" GridPane.columnSpan="2" GridPane.rowIndex="2" />
+      <ComboBox prefWidth="150.0" GridPane.columnIndex="1" GridPane.rowIndex="3">
+         <GridPane.margin>
+            <Insets />
+         </GridPane.margin>
+      </ComboBox>
+      <Button mnemonicParsing="false" onAction="#closeButton" text="Cancel" GridPane.columnIndex="3" GridPane.rowIndex="4">
+         <GridPane.margin>
+            <Insets left="75.0" />
+         </GridPane.margin>
+      </Button>
+      <Button mnemonicParsing="false" onAction="#closeButton" text="Button" GridPane.columnIndex="3" GridPane.rowIndex="4">
+         <GridPane.margin>
+            <Insets left="130.0" />
+         </GridPane.margin>
+      </Button>
+   </children>
+</GridPane>
diff --git a/src/main/resources/view/Expenses.fxml b/src/main/resources/view/Expenses.fxml
new file mode 100644
index 0000000000000000000000000000000000000000..041a55504552a6d638ef7f7bc0d860e889029ec9
--- /dev/null
+++ b/src/main/resources/view/Expenses.fxml
@@ -0,0 +1,148 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<?import javafx.geometry.Insets?>
+<?import javafx.scene.Cursor?>
+<?import javafx.scene.control.Button?>
+<?import javafx.scene.control.ComboBox?>
+<?import javafx.scene.control.TableColumn?>
+<?import javafx.scene.control.TableView?>
+<?import javafx.scene.image.Image?>
+<?import javafx.scene.image.ImageView?>
+<?import javafx.scene.layout.AnchorPane?>
+<?import javafx.scene.layout.BorderPane?>
+<?import javafx.scene.layout.ColumnConstraints?>
+<?import javafx.scene.layout.GridPane?>
+<?import javafx.scene.layout.HBox?>
+<?import javafx.scene.layout.Region?>
+<?import javafx.scene.layout.RowConstraints?>
+<?import javafx.scene.layout.VBox?>
+<?import javafx.scene.text.Font?>
+<?import javafx.scene.text.Text?>
+
+<AnchorPane xmlns="http://javafx.com/javafx/19" xmlns:fx="http://javafx.com/fxml/1" fx:controller="no.ntnu.idatt1002.demo.controller.SceneController">
+   <children>
+      <ImageView fitHeight="400.0" fitWidth="600.0" pickOnBounds="true">
+         <image>
+            <Image url="@../Images/backgroundMini.jpg" />
+         </image>
+         <cursor>
+            <Cursor fx:constant="DEFAULT" />
+         </cursor>
+      </ImageView>
+      <BorderPane prefHeight="400.0" prefWidth="593.0">
+         <top>
+            <HBox BorderPane.alignment="CENTER">
+               <children>
+                  <Button mnemonicParsing="false" onAction="#switchIncome" text="Return ">
+                     <opaqueInsets>
+                        <Insets left="100.0" />
+                     </opaqueInsets>
+                     <HBox.margin>
+                        <Insets left="10.0" top="10.0" />
+                     </HBox.margin>
+                  </Button>
+                  <Region prefHeight="70.0" prefWidth="141.0" />
+                  <Text strokeType="OUTSIDE" strokeWidth="0.0" text="Expenses" textAlignment="CENTER">
+                     <HBox.margin>
+                        <Insets />
+                     </HBox.margin>
+                     <font>
+                        <Font size="48.0" />
+                     </font>
+                  </Text>
+               </children>
+               <opaqueInsets>
+                  <Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
+               </opaqueInsets>
+            </HBox>
+         </top>
+         <center>
+            <GridPane BorderPane.alignment="CENTER">
+               <BorderPane.margin>
+                  <Insets bottom="40.0" left="40.0" right="40.0" />
+               </BorderPane.margin>
+               <columnConstraints>
+                  <ColumnConstraints hgrow="ALWAYS" maxWidth="485.3333231608073" minWidth="10.0" prefWidth="427.33335367838544" />
+                  <ColumnConstraints hgrow="ALWAYS" maxWidth="111.33333333333331" minWidth="10.0" prefWidth="92.66664632161456" />
+               </columnConstraints>
+               <rowConstraints>
+                  <RowConstraints maxHeight="65.33334064483643" minHeight="10.0" prefHeight="65.33334064483643" vgrow="SOMETIMES" />
+                  <RowConstraints maxHeight="298.66665744781494" minHeight="10.0" prefHeight="214.00004069010413" vgrow="SOMETIMES" />
+                  <RowConstraints maxHeight="298.66665744781494" minHeight="10.0" prefHeight="29.999959309895814" vgrow="SOMETIMES" />
+               </rowConstraints>
+               <children>
+                  <HBox alignment="BOTTOM_LEFT" prefWidth="410.0" spacing="5.0">
+                     <children>
+                        <Button fx:id="add" alignment="TOP_CENTER" mnemonicParsing="false" onAction="#addExpense" text="Add" textAlignment="CENTER" />
+                        <Button fx:id="add1" alignment="TOP_CENTER" mnemonicParsing="false" text="Edit" textAlignment="CENTER" />
+                        <Button fx:id="add11" alignment="TOP_CENTER" mnemonicParsing="false" text="Delete" textAlignment="CENTER" />
+                     </children>
+                     <opaqueInsets>
+                        <Insets />
+                     </opaqueInsets>
+                     <padding>
+                        <Insets bottom="5.0" />
+                     </padding>
+                  </HBox>
+                  <VBox alignment="BOTTOM_LEFT" prefHeight="200.0" prefWidth="100.0" spacing="5.0" GridPane.columnIndex="1">
+                     <children>
+                        <ComboBox fx:id="show" prefWidth="150.0" promptText="Show">
+                           <opaqueInsets>
+                              <Insets />
+                           </opaqueInsets>
+                           <VBox.margin>
+                              <Insets bottom="5.0" />
+                           </VBox.margin>
+                        </ComboBox>
+                     </children>
+                  </VBox>
+                  <HBox prefHeight="100.0" prefWidth="200.0" GridPane.columnSpan="2" GridPane.rowIndex="2">
+                     <children>
+                        <Button mnemonicParsing="false" onAction="#switchOverview" text="Overview">
+                           <HBox.margin>
+                              <Insets right="5.0" />
+                           </HBox.margin></Button>
+                      <Button mnemonicParsing="false" onAction="#switchIncome" text="Income" />
+                        <Button disable="true" mnemonicParsing="false" text="Expenses" />
+                        <Button disable="true" mnemonicParsing="false" text="Savings" />
+                        <Button mnemonicParsing="false" onAction="#switchOverview" text="Next">
+                           <HBox.margin>
+                              <Insets left="170.0" />
+                           </HBox.margin></Button>
+                     </children>
+                     <padding>
+                        <Insets top="10.0" />
+                     </padding>
+                  </HBox>
+                  <TableView fx:id="expenseTableView" prefHeight="260.0" prefWidth="485.0" GridPane.columnSpan="2" GridPane.rowIndex="1">
+                    <columns>
+                      <TableColumn fx:id="date" prefWidth="75.0" text="Date" />
+                      <TableColumn fx:id="amount" prefWidth="75.0" text="Amount" />
+                        <TableColumn fx:id="category" prefWidth="75.0" text="Category" />
+                        <TableColumn fx:id="description" prefWidth="75.0" text="Description" />
+                    </columns>
+                     <columnResizePolicy>
+                        <TableView fx:constant="CONSTRAINED_RESIZE_POLICY" />
+                     </columnResizePolicy>
+                  </TableView>
+               </children>
+            </GridPane>
+         </center>
+         <opaqueInsets>
+            <Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
+         </opaqueInsets>
+         <left>
+            <Region prefHeight="357.0" prefWidth="25.0" BorderPane.alignment="CENTER" />
+         </left>
+         <right>
+            <Region prefHeight="357.0" prefWidth="0.0" BorderPane.alignment="CENTER" />
+         </right>
+         <bottom>
+            <Region prefHeight="0.0" prefWidth="600.0" BorderPane.alignment="CENTER" />
+         </bottom>
+      </BorderPane>
+   </children>
+   <opaqueInsets>
+      <Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
+   </opaqueInsets>
+</AnchorPane>
diff --git a/src/main/resources/view/FirstMenu.fxml b/src/main/resources/view/FirstMenu.fxml
new file mode 100644
index 0000000000000000000000000000000000000000..e8fe27a4d37df4c39247f7cf3741559d814495e8
--- /dev/null
+++ b/src/main/resources/view/FirstMenu.fxml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<?import javafx.scene.control.Button?>
+<?import javafx.scene.control.Label?>
+<?import javafx.scene.image.Image?>
+<?import javafx.scene.image.ImageView?>
+<?import javafx.scene.layout.AnchorPane?>
+<?import javafx.scene.text.Font?>
+
+<AnchorPane maxHeight="600" maxWidth="607.0" minHeight="406.0" minWidth="600" prefHeight="406.0" prefWidth="607.0" xmlns="http://javafx.com/javafx/19" xmlns:fx="http://javafx.com/fxml/1" fx:controller="no.ntnu.idatt1002.demo.controller.SceneController">
+   <ImageView fitHeight="412.0" fitWidth="614.0" layoutX="-7.0" layoutY="-6.0" pickOnBounds="true" smooth="false">
+      <Image url="@../Images/backgroundMini.jpg" />
+   </ImageView>
+   <Label alignment="CENTER" contentDisplay="CENTER" layoutX="73.0" layoutY="113.0" lineSpacing="1.0" text="Welcome to BudgetBuddy!" textAlignment="CENTER" textOverrun="LEADING_ELLIPSIS" wrapText="true">
+      <font>
+         <Font name="Verdana" size="34.0" />
+      </font>
+   </Label>
+   <Label ellipsisString="" layoutX="147.0" layoutY="171.0" lineSpacing="1.0" text="Please choose one of the options:" textAlignment="CENTER">
+      <font>
+         <Font name="Verdana" size="18.0" />
+      </font>
+   </Label>
+   <Button layoutX="69.0" layoutY="212.0" mnemonicParsing="false" onAction="#switchIncome" text="New Budget">
+      <font>
+         <Font size="24.0" />
+      </font>
+   </Button>
+   <Button layoutX="380.0" layoutY="212.0" mnemonicParsing="false" onAction="#underProgress" text="Old Budget">
+      <font>
+         <Font size="24.0" />
+      </font>
+   </Button>
+</AnchorPane>
diff --git a/src/main/resources/view/Income.fxml b/src/main/resources/view/Income.fxml
new file mode 100644
index 0000000000000000000000000000000000000000..4a4b9e7ba892ccfec2e1644f2ac01699bae7834d
--- /dev/null
+++ b/src/main/resources/view/Income.fxml
@@ -0,0 +1,148 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<?import javafx.geometry.Insets?>
+<?import javafx.scene.Cursor?>
+<?import javafx.scene.control.Button?>
+<?import javafx.scene.control.ComboBox?>
+<?import javafx.scene.control.TableColumn?>
+<?import javafx.scene.control.TableView?>
+<?import javafx.scene.image.Image?>
+<?import javafx.scene.image.ImageView?>
+<?import javafx.scene.layout.AnchorPane?>
+<?import javafx.scene.layout.BorderPane?>
+<?import javafx.scene.layout.ColumnConstraints?>
+<?import javafx.scene.layout.GridPane?>
+<?import javafx.scene.layout.HBox?>
+<?import javafx.scene.layout.Region?>
+<?import javafx.scene.layout.RowConstraints?>
+<?import javafx.scene.layout.VBox?>
+<?import javafx.scene.text.Font?>
+<?import javafx.scene.text.Text?>
+
+<AnchorPane xmlns="http://javafx.com/javafx/19" xmlns:fx="http://javafx.com/fxml/1" fx:controller="no.ntnu.idatt1002.demo.controller.SceneController">
+   <children>
+      <ImageView fitHeight="400.0" fitWidth="600.0" pickOnBounds="true">
+         <image>
+            <Image url="@../Images/backgroundMini.jpg" />
+         </image>
+         <cursor>
+            <Cursor fx:constant="DEFAULT" />
+         </cursor>
+      </ImageView>
+      <BorderPane prefHeight="400.0" prefWidth="593.0">
+         <top>
+            <HBox BorderPane.alignment="CENTER">
+               <children>
+                  <Button cancelButton="true" mnemonicParsing="false" onAction="#switchStartMenu" text="Return ">
+                     <opaqueInsets>
+                        <Insets left="100.0" />
+                     </opaqueInsets>
+                     <HBox.margin>
+                        <Insets left="10.0" top="10.0" />
+                     </HBox.margin>
+                  </Button>
+                  <Region prefHeight="70.0" prefWidth="141.0" />
+                  <Text strokeType="OUTSIDE" strokeWidth="0.0" text="Income" textAlignment="CENTER" translateX="30.0">
+                     <HBox.margin>
+                        <Insets />
+                     </HBox.margin>
+                     <font>
+                        <Font size="48.0" />
+                     </font>
+                  </Text>
+               </children>
+               <opaqueInsets>
+                  <Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
+               </opaqueInsets>
+            </HBox>
+         </top>
+         <center>
+            <GridPane BorderPane.alignment="CENTER">
+               <BorderPane.margin>
+                  <Insets bottom="40.0" left="40.0" right="40.0" />
+               </BorderPane.margin>
+               <columnConstraints>
+                  <ColumnConstraints hgrow="ALWAYS" maxWidth="485.3333231608073" minWidth="10.0" prefWidth="427.33335367838544" />
+                  <ColumnConstraints hgrow="ALWAYS" maxWidth="111.33333333333331" minWidth="10.0" prefWidth="92.66664632161456" />
+               </columnConstraints>
+               <rowConstraints>
+                  <RowConstraints maxHeight="65.33334064483643" minHeight="10.0" prefHeight="65.33334064483643" vgrow="SOMETIMES" />
+                  <RowConstraints maxHeight="298.66665744781494" minHeight="10.0" prefHeight="214.00004069010413" vgrow="SOMETIMES" />
+                  <RowConstraints maxHeight="298.66665744781494" minHeight="10.0" prefHeight="29.999959309895814" vgrow="SOMETIMES" />
+               </rowConstraints>
+               <children>
+                  <HBox alignment="BOTTOM_LEFT" prefWidth="410.0" spacing="5.0">
+                     <children>
+                        <Button fx:id="add" alignment="TOP_CENTER" mnemonicParsing="false" onAction="#addIncome" text="Add" textAlignment="CENTER" />
+                        <Button fx:id="add1" alignment="TOP_CENTER" mnemonicParsing="false" text="Edit" textAlignment="CENTER" />
+                        <Button fx:id="add11" alignment="TOP_CENTER" mnemonicParsing="false" text="Delete" textAlignment="CENTER" />
+                     </children>
+                     <opaqueInsets>
+                        <Insets />
+                     </opaqueInsets>
+                     <padding>
+                        <Insets bottom="5.0" />
+                     </padding>
+                  </HBox>
+                  <VBox alignment="BOTTOM_LEFT" prefHeight="200.0" prefWidth="100.0" spacing="5.0" GridPane.columnIndex="1">
+                     <children>
+                        <ComboBox fx:id="show" prefWidth="150.0" promptText="Show">
+                           <opaqueInsets>
+                              <Insets />
+                           </opaqueInsets>
+                           <VBox.margin>
+                              <Insets bottom="5.0" />
+                           </VBox.margin>
+                        </ComboBox>
+                     </children>
+                  </VBox>
+                  <HBox prefHeight="100.0" prefWidth="200.0" GridPane.columnSpan="2" GridPane.rowIndex="2">
+                     <children>
+                        <Button mnemonicParsing="false" onAction="#switchOverview" text="Overview">
+                           <HBox.margin>
+                              <Insets right="5.0" />
+                           </HBox.margin></Button>
+                      <Button disable="true" mnemonicParsing="false" onAction="#switchIncome" text="Income" textFill="#4d1616" />
+                        <Button mnemonicParsing="false" onAction="#switchExpenses" text="Expenses" />
+                        <Button disable="true" mnemonicParsing="false" text="Savings" />
+                        <Button mnemonicParsing="false" onAction="#switchExpenses" text="Next">
+                           <HBox.margin>
+                              <Insets left="170.0" />
+                           </HBox.margin></Button>
+                     </children>
+                     <padding>
+                        <Insets top="10.0" />
+                     </padding>
+                  </HBox>
+                  <TableView fx:id="expenseTableView" prefHeight="260.0" prefWidth="485.0" GridPane.columnSpan="2" GridPane.rowIndex="1">
+                    <columns>
+                      <TableColumn fx:id="date" prefWidth="75.0" text="Date" />
+                      <TableColumn fx:id="amount" prefWidth="75.0" text="Amount" />
+                        <TableColumn fx:id="category" prefWidth="75.0" text="Category" />
+                        <TableColumn fx:id="description" prefWidth="75.0" text="Description" />
+                    </columns>
+                     <columnResizePolicy>
+                        <TableView fx:constant="CONSTRAINED_RESIZE_POLICY" />
+                     </columnResizePolicy>
+                  </TableView>
+               </children>
+            </GridPane>
+         </center>
+         <opaqueInsets>
+            <Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
+         </opaqueInsets>
+         <left>
+            <Region prefHeight="357.0" prefWidth="25.0" BorderPane.alignment="CENTER" />
+         </left>
+         <right>
+            <Region prefHeight="357.0" prefWidth="0.0" BorderPane.alignment="CENTER" />
+         </right>
+         <bottom>
+            <Region prefHeight="0.0" prefWidth="600.0" BorderPane.alignment="CENTER" />
+         </bottom>
+      </BorderPane>
+   </children>
+   <opaqueInsets>
+      <Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
+   </opaqueInsets>
+</AnchorPane>
diff --git a/src/main/resources/view/Overview.fxml b/src/main/resources/view/Overview.fxml
new file mode 100644
index 0000000000000000000000000000000000000000..dc81039bbe9391dd63e3fc1afe7e469cb01cca37
--- /dev/null
+++ b/src/main/resources/view/Overview.fxml
@@ -0,0 +1,130 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<?import javafx.geometry.Insets?>
+<?import javafx.scene.Cursor?>
+<?import javafx.scene.chart.PieChart?>
+<?import javafx.scene.control.Button?>
+<?import javafx.scene.control.ComboBox?>
+<?import javafx.scene.control.ListView?>
+<?import javafx.scene.image.Image?>
+<?import javafx.scene.image.ImageView?>
+<?import javafx.scene.layout.AnchorPane?>
+<?import javafx.scene.layout.BorderPane?>
+<?import javafx.scene.layout.ColumnConstraints?>
+<?import javafx.scene.layout.GridPane?>
+<?import javafx.scene.layout.HBox?>
+<?import javafx.scene.layout.Region?>
+<?import javafx.scene.layout.RowConstraints?>
+<?import javafx.scene.layout.VBox?>
+<?import javafx.scene.text.Font?>
+<?import javafx.scene.text.Text?>
+
+<AnchorPane xmlns="http://javafx.com/javafx/19" xmlns:fx="http://javafx.com/fxml/1" fx:controller="no.ntnu.idatt1002.demo.controller.SceneController">
+   <children>
+      <ImageView fitHeight="400.0" fitWidth="600.0" pickOnBounds="true">
+         <image>
+            <Image url="@../Images/backgroundMini.jpg" />
+         </image>
+         <cursor>
+            <Cursor fx:constant="DEFAULT" />
+         </cursor>
+      </ImageView>
+      <BorderPane prefHeight="400.0" prefWidth="593.0">
+         <top>
+            <HBox BorderPane.alignment="CENTER">
+               <children>
+                  <Button cancelButton="true" mnemonicParsing="false" onAction="#switchExpenses" text="Return ">
+                     <opaqueInsets>
+                        <Insets left="100.0" />
+                     </opaqueInsets>
+                     <HBox.margin>
+                        <Insets left="10.0" top="10.0" />
+                     </HBox.margin>
+                  </Button>
+                  <Region prefHeight="70.0" prefWidth="141.0" />
+                  <Text strokeType="OUTSIDE" strokeWidth="0.0" text="Overview" textAlignment="CENTER" translateX="-5.0">
+                     <HBox.margin>
+                        <Insets />
+                     </HBox.margin>
+                     <font>
+                        <Font size="48.0" />
+                     </font>
+                  </Text>
+               </children>
+               <opaqueInsets>
+                  <Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
+               </opaqueInsets>
+            </HBox>
+         </top>
+         <center>
+            <GridPane BorderPane.alignment="CENTER">
+               <BorderPane.margin>
+                  <Insets bottom="40.0" left="40.0" right="40.0" />
+               </BorderPane.margin>
+               <columnConstraints>
+                  <ColumnConstraints hgrow="ALWAYS" maxWidth="485.3333231608073" minWidth="10.0" prefWidth="236.5" />
+                  <ColumnConstraints hgrow="ALWAYS" maxWidth="253.0" minWidth="10.0" prefWidth="252.0" />
+               </columnConstraints>
+               <rowConstraints>
+                  <RowConstraints maxHeight="65.33334064483643" minHeight="10.0" prefHeight="26.5" vgrow="SOMETIMES" />
+                  <RowConstraints maxHeight="298.66665744781494" minHeight="10.0" prefHeight="239.5" vgrow="SOMETIMES" />
+                  <RowConstraints maxHeight="298.66665744781494" minHeight="10.0" prefHeight="29.999959309895814" vgrow="SOMETIMES" />
+               </rowConstraints>
+               <children>
+                  <HBox alignment="BOTTOM_LEFT" prefWidth="410.0" spacing="5.0">
+                     <opaqueInsets>
+                        <Insets />
+                     </opaqueInsets>
+                     <padding>
+                        <Insets bottom="5.0" />
+                     </padding>
+                     <children>
+                        <ComboBox fx:id="show" prefHeight="26.0" prefWidth="240.0" promptText="Show">
+                           <opaqueInsets>
+                              <Insets />
+                           </opaqueInsets>
+                        </ComboBox>
+                     </children>
+                  </HBox>
+                  <VBox alignment="BOTTOM_LEFT" prefHeight="200.0" prefWidth="100.0" spacing="5.0" GridPane.columnIndex="1" />
+                  <HBox prefHeight="100.0" prefWidth="200.0" GridPane.columnSpan="2" GridPane.rowIndex="2">
+                     <children>
+                        <Button disable="true" mnemonicParsing="false" text="Overview">
+                           <HBox.margin>
+                              <Insets right="5.0" />
+                           </HBox.margin></Button>
+                      <Button mnemonicParsing="false" onAction="#switchIncome" text="Income" textFill="#4d1616" />
+                        <Button mnemonicParsing="false" onAction="#switchExpenses" text="Expenses" />
+                        <Button disable="true" mnemonicParsing="false" text="Savings" />
+                        <Button defaultButton="true" mnemonicParsing="false" onAction="#switchExpenses" text="Next">
+                           <HBox.margin>
+                              <Insets left="170.0" />
+                           </HBox.margin></Button>
+                     </children>
+                     <padding>
+                        <Insets top="10.0" />
+                     </padding>
+                  </HBox>
+                  <PieChart GridPane.columnIndex="1" GridPane.rowIndex="1" />
+                  <ListView prefHeight="200.0" prefWidth="270.0" GridPane.rowIndex="1" />
+               </children>
+            </GridPane>
+         </center>
+         <opaqueInsets>
+            <Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
+         </opaqueInsets>
+         <left>
+            <Region prefHeight="357.0" prefWidth="25.0" BorderPane.alignment="CENTER" />
+         </left>
+         <right>
+            <Region prefHeight="357.0" prefWidth="0.0" BorderPane.alignment="CENTER" />
+         </right>
+         <bottom>
+            <Region prefHeight="0.0" prefWidth="600.0" BorderPane.alignment="CENTER" />
+         </bottom>
+      </BorderPane>
+   </children>
+   <opaqueInsets>
+      <Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
+   </opaqueInsets>
+</AnchorPane>
diff --git a/src/main/resources/view/underProgress.fxml b/src/main/resources/view/underProgress.fxml
new file mode 100644
index 0000000000000000000000000000000000000000..ec5bf55f00cae55d1dbf4094ecaf9e0365e2aab3
--- /dev/null
+++ b/src/main/resources/view/underProgress.fxml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<?import javafx.geometry.Insets?>
+<?import javafx.scene.control.Button?>
+<?import javafx.scene.control.TextField?>
+<?import javafx.scene.image.Image?>
+<?import javafx.scene.image.ImageView?>
+<?import javafx.scene.layout.AnchorPane?>
+
+
+<AnchorPane prefHeight="172.0" prefWidth="340.0" xmlns="http://javafx.com/javafx/19" xmlns:fx="http://javafx.com/fxml/1" fx:controller="no.ntnu.idatt1002.demo.controller.SceneController">
+   <children>
+      <ImageView fitHeight="310.0" fitWidth="476.0" layoutX="-5.0" pickOnBounds="true" preserveRatio="true">
+         <image>
+            <Image url="@../Images/underProgress.png" />
+         </image>
+      </ImageView>
+      <Button layoutX="195.0" layoutY="178.0" mnemonicParsing="false" onAction="#closeButton" text="Understood" />
+      <TextField layoutX="41.0" layoutY="112.0" prefHeight="26.0" prefWidth="390.0" text="Sorry, but this part of the app is still under construction.">
+         <opaqueInsets>
+            <Insets />
+         </opaqueInsets>
+      </TextField>
+      <TextField alignment="CENTER" layoutX="41.0" layoutY="65.0" prefHeight="26.0" prefWidth="390.0" text="Alert!">
+         <opaqueInsets>
+            <Insets />
+         </opaqueInsets>
+      </TextField>
+      <TextField layoutX="41.0" layoutY="138.0" prefHeight="26.0" prefWidth="390.0" text="Thank you for your patience.">
+         <opaqueInsets>
+            <Insets />
+         </opaqueInsets>
+      </TextField>
+   </children>
+</AnchorPane>