diff --git a/src/main/java/mi/hdm/controllers/MealPlanController.java b/src/main/java/mi/hdm/controllers/MealPlanController.java
index 3bf62512861d5d5a9df2c7ac4ec089ce77884c70..9f42b0ea541703ac18fcf3e12f8388bcfa47eec6 100644
--- a/src/main/java/mi/hdm/controllers/MealPlanController.java
+++ b/src/main/java/mi/hdm/controllers/MealPlanController.java
@@ -1,26 +1,72 @@
 package mi.hdm.controllers;
 
 import javafx.fxml.FXML;
+import javafx.scene.control.Button;
+import javafx.scene.control.Label;
 import javafx.scene.layout.AnchorPane;
+import javafx.scene.layout.GridPane;
+import javafx.scene.text.Font;
+import javafx.scene.text.FontWeight;
 import mi.hdm.mealPlan.MealPlan;
+import mi.hdm.recipes.Recipe;
+import mi.hdm.recipes.RecipeManager;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
 
+import java.time.LocalDate;
+import java.time.format.DateTimeFormatter;
+
 public class MealPlanController extends BaseController {
     private final MealPlan mealPlan;
+    private final RecipeManager recipeManager;
 
     private final static Logger log = LogManager.getLogger(MealPlanController.class);
 
-    //TODO: this page does nothing
+    //TODO: finish this page
     @FXML
     private AnchorPane parent;
+    @FXML
+    private GridPane mealPlanGrid;
 
-    public MealPlanController(MealPlan mealPlan) {
+    public MealPlanController(MealPlan mealPlan, RecipeManager recipeManager) {
         this.mealPlan = mealPlan;
+        this.recipeManager = recipeManager;
     }
 
     @FXML
     public void initialize() {
         loadHeader(parent);
+        displayMealPlan();
+    }
+
+    private void displayMealPlan() {
+        LocalDate today = LocalDate.now();
+        for(int j=1; j<7; j++) {
+            Label date = new Label(today.plusDays(j).format(DateTimeFormatter.ofPattern("dd.MM.")));
+            Font font = Font.font("System", FontWeight.BOLD, 17);
+            date.setFont(font);
+            mealPlanGrid.add(date, j, 0);
+        }
+
+        for (int j=0; j<7; j++) {
+            final int J = j;
+            mealPlan.getRecipeCodeForDay(LocalDate.now().plusDays(j)).ifPresent(code -> {
+                Recipe r = recipeManager.getRecipeByCode(code);
+                Label name = new Label(r.getName());
+                mealPlanGrid.add(name, J, 1);
+            });
+            mealPlan.getRecipeCodeForDay(LocalDate.now().plusDays(j)).ifPresentOrElse(code -> {
+                Recipe r = recipeManager.getRecipeByCode(code);
+                Label name = new Label(r.getName());
+                mealPlanGrid.add(name, J, 1);
+            }, () -> {
+                Button addRecipeButton = new Button("add recipe");
+                mealPlanGrid.add(addRecipeButton, J, 1);
+                //TODO: add listener and search to add a recipe
+            });
+
+
+
+        }
     }
 }
diff --git a/src/main/java/mi/hdm/controllers/RecipeViewController.java b/src/main/java/mi/hdm/controllers/RecipeViewController.java
index 3dbb2cfd8818bb43b8635b183fc79d83527acd2f..613c6fbb519fa0629da27a7e417fc1cdca354ddc 100644
--- a/src/main/java/mi/hdm/controllers/RecipeViewController.java
+++ b/src/main/java/mi/hdm/controllers/RecipeViewController.java
@@ -60,7 +60,6 @@ public class RecipeViewController extends BaseController {
         recipeDescription.setText(recipe.getDescription());
         recipePreparation.setText(String.join("\n", recipe.getPreparation()));
 
-        //TODO: amount and measurement are not displayed, but without the name they are
         recipe.getIngredients().forEach((code, amount) -> {
             Ingredient i = ingredientManager.getIngredient(code).orElseThrow();
             IngredientLabel ingredientLabel = new IngredientLabel(amount, i);
diff --git a/src/main/java/mi/hdm/controllers/ShoppingListViewController.java b/src/main/java/mi/hdm/controllers/ShoppingListViewController.java
index 184bcfe388057291617649c201fd507cf656d8c1..0a4a517cd056414e25932fb1893558ae240690a0 100644
--- a/src/main/java/mi/hdm/controllers/ShoppingListViewController.java
+++ b/src/main/java/mi/hdm/controllers/ShoppingListViewController.java
@@ -127,7 +127,8 @@ public class ShoppingListViewController extends BaseController {
 
     /**
      * This method reloads the ingredients in the shopping list view
-     * by clearing it and then refill it with all ingredients from the current shoppingList
+     * by clearing it and then refill it with all ingredients from the current shoppingList.
+     * If an ingredient is marked as done, it is loaded with a ticked checkbox.
      */
     private void displayShoppingList() {
         selectedIngredientsVbox.getChildren().clear();
diff --git a/src/main/java/mi/hdm/controllers/View.java b/src/main/java/mi/hdm/controllers/View.java
index f913521a3aa319b09f71bf43a0aae63502f36dcf..10c31a4b874f2df1a0d6c9acb791749ae17826ac 100644
--- a/src/main/java/mi/hdm/controllers/View.java
+++ b/src/main/java/mi/hdm/controllers/View.java
@@ -55,7 +55,7 @@ public enum View {
             );
 
             case MEALPLAN_VIEW -> loader.setControllerFactory((callback) ->
-                    new MealPlanController(model.getMealPlan())
+                    new MealPlanController(model.getMealPlan(), model.getRecipeManager())
             );
 
             case RECIPE_CREATOR -> loader.setControllerFactory((callback) ->
diff --git a/src/main/resources/fxml/Meal_Plan.fxml b/src/main/resources/fxml/Meal_Plan.fxml
index 73d1fdfbb7147143cf69d09299831f4268ca5ce2..bab7a4d49c14c8440c6a78913efdba499bc43fe7 100644
--- a/src/main/resources/fxml/Meal_Plan.fxml
+++ b/src/main/resources/fxml/Meal_Plan.fxml
@@ -4,31 +4,24 @@
 <?import javafx.scene.control.*?>
 <?import javafx.scene.layout.*?>
 <?import javafx.scene.text.*?>
-<AnchorPane fx:id="parent" prefHeight="540.0" prefWidth="872.0" xmlns="http://javafx.com/javafx/14"
-            xmlns:fx="http://javafx.com/fxml/1" fx:controller="mi.hdm.controllers.MealPlanController">
+
+<AnchorPane fx:id="parent" prefHeight="540.0" prefWidth="872.0" xmlns="http://javafx.com/javafx/17.0.2-ea" xmlns:fx="http://javafx.com/fxml/1" fx:controller="mi.hdm.controllers.MealPlanController">
    <children>
-      <VBox layoutY="69.0" prefHeight="445.0" prefWidth="872.0" AnchorPane.bottomAnchor="0.0"
-            AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
+      <VBox layoutY="69.0" prefHeight="445.0" prefWidth="872.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
          <children>
-            <GridPane hgap="8.0" prefHeight="197.0" prefWidth="190.0" vgap="8.0">
+            <GridPane hgap="8.0" prefHeight="57.0" prefWidth="842.0" vgap="8.0">
                <columnConstraints>
-                  <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="78.0"/>
-                  <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="473.0"/>
-                  <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0"/>
+                  <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="78.0" />
+                  <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="473.0" />
+                  <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
                </columnConstraints>
                <rowConstraints>
                 <RowConstraints minHeight="10.0" prefHeight="49.999996185302734" vgrow="SOMETIMES" />
-                <RowConstraints minHeight="10.0" prefHeight="140.00000381469727" vgrow="SOMETIMES" />
               </rowConstraints>
                <VBox.margin>
                   <Insets left="15.0" right="15.0" />
                </VBox.margin>
                <children>
-                  <Text fill="#1e1e1e" strokeType="OUTSIDE" strokeWidth="0.0" text="Nutrition" GridPane.rowIndex="1" GridPane.valignment="BOTTOM">
-                     <font>
-                        <Font name="Arial Bold" size="25.0" />
-                     </font>
-                  </Text>
                   <Label alignment="TOP_CENTER" text="Meal Plan" textFill="#d91c1c" GridPane.columnIndex="1" GridPane.halignment="CENTER" GridPane.valignment="TOP">
                      <font>
                         <Font name="Arial" size="34.0" />
@@ -36,8 +29,38 @@
                   </Label>
                </children>
             </GridPane>
+            <GridPane fx:id="mealPlanGrid" prefHeight="214.0" prefWidth="812.0" GridPane.columnIndex="1"  GridPane.rowIndex="0" gridLinesVisible="true">
+              <columnConstraints>
+                 <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
+                 <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
+                 <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
+                 <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
+                 <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
+                 <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
+                 <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
+              </columnConstraints>
+              <rowConstraints>
+                <RowConstraints maxHeight="110.0" minHeight="10.0" prefHeight="32.0" vgrow="SOMETIMES" />
+                <RowConstraints maxHeight="204.0" minHeight="10.0" prefHeight="182.0" vgrow="SOMETIMES" />
+              </rowConstraints>
+               <VBox.margin>
+                  <Insets bottom="30.0" left="30.0" right="30.0" top="30.0" />
+               </VBox.margin>
+               <children>
+                  <Label prefHeight="32.0" prefWidth="116.0" text="Today">
+                     <font>
+                        <Font name="System Bold" size="17.0" />
+                     </font>
+                  </Label>
+               </children>
+            </GridPane>
             <VBox prefHeight="200.0" prefWidth="522.0">
                <children>
+                  <Text fill="#1e1e1e" strokeType="OUTSIDE" strokeWidth="0.0" text="Nutrition">
+                     <font>
+                        <Font name="Arial Bold" size="25.0" />
+                     </font>
+                  </Text>
                   <HBox alignment="CENTER_LEFT" prefHeight="57.0" prefWidth="872.0">
                      <children>
                         <Text fill="#1e1e1e" strokeType="OUTSIDE" strokeWidth="0.0" text="Fat" wrappingWidth="83.47006416320801">