diff --git a/src/main/java/ntnu/idatt2016/v233/SmartMat/controller/ShoppingListController.java b/src/main/java/ntnu/idatt2016/v233/SmartMat/controller/ShoppingListController.java
index 280697ca1a722281082050c40ed0465c6d3164fb..103d16a027787af01f48ee2589928cf27e717b53 100644
--- a/src/main/java/ntnu/idatt2016/v233/SmartMat/controller/ShoppingListController.java
+++ b/src/main/java/ntnu/idatt2016/v233/SmartMat/controller/ShoppingListController.java
@@ -28,10 +28,11 @@ import ntnu.idatt2016.v233.SmartMat.service.ShoppingListService;
 @RequestMapping("/api/shoppinglist")
 public class ShoppingListController {
 
-    @Autowired
     ShoppingListService shoppingListService;
 
-    @Autowired
+    ProductService productService;
+
+
     UserService userService;
 
 
@@ -70,21 +71,25 @@ public class ShoppingListController {
      * @return the shopping list with the added product, or an error if the shopping list ID or EAN is invalid
      */
     @PostMapping("/addProduct/{shoppingListId}/{ean}")
-    public ResponseEntity<ShoppingList> addItemToShoppingList(@PathVariable("shoppingListId") long shoppingListId,
+    public ResponseEntity<?> addItemToShoppingList(@PathVariable("shoppingListId") long shoppingListId,
                                                               @PathVariable("ean") String ean, Authentication auth){
 
         Optional<ShoppingList> shoppingList = shoppingListService.getShoppingListById(shoppingListId);
 
         if(shoppingList.isEmpty())
-            return ResponseEntity.status(HttpStatus.NOT_FOUND).build();
+            return ResponseEntity.badRequest().body("shoppinglist not found");
+
+        if(productService.getProductById(Long.parseLong(ean)).isEmpty())
+            return ResponseEntity.badRequest().body("product not found");
 
         Optional<User> user = userService.getUserFromUsername(auth.getName());
 
+
         if(user.isEmpty())
             return ResponseEntity.status(HttpStatus.UNAUTHORIZED).build();
 
 
-        if(user.get().getGroup().stream().anyMatch(userGroupAsso ->
+        if(user.get().getGroup().stream().noneMatch(userGroupAsso ->
                 userGroupAsso.getGroup().getGroupId() == shoppingList.get().getGroup().getGroupId()))
             return ResponseEntity.status(HttpStatus.UNAUTHORIZED).build();
 
@@ -95,11 +100,16 @@ public class ShoppingListController {
         if(product.isPresent())
             return ResponseEntity.status(HttpStatus.CONFLICT).build();
 
-        Optional<ShoppingList> returnval = shoppingListService.addProductToShoppingList(shoppingList.get().getShoppingListID(),
-                Long.parseLong(ean));
+        System.out.println("Adding product to shopping list : " + shoppingListId + " - " + ean);
 
-        return returnval.map(list -> ResponseEntity.status(HttpStatus.OK).body(list))
-                .orElseGet(() -> ResponseEntity.status(HttpStatus.NOT_FOUND).build());
+        Optional<ShoppingList> returnval = shoppingListService.addProductToShoppingList(Long.parseLong(ean) ,
+                shoppingListId
+                );
+
+
+
+        return returnval.map(list -> ResponseEntity.status(HttpStatus.OK).body(list.getProducts()))
+                .orElseGet(() -> ResponseEntity.status(HttpStatus.NOT_MODIFIED).build());
 
 
     }
diff --git a/src/main/java/ntnu/idatt2016/v233/SmartMat/entity/ShoppingList.java b/src/main/java/ntnu/idatt2016/v233/SmartMat/entity/ShoppingList.java
index 5fc083b87af2bc0b42e79baacdb6bf2c4cc606d0..e2fa1fc8fc57144d8df69106c604731bbd6d2729 100644
--- a/src/main/java/ntnu/idatt2016/v233/SmartMat/entity/ShoppingList.java
+++ b/src/main/java/ntnu/idatt2016/v233/SmartMat/entity/ShoppingList.java
@@ -3,10 +3,7 @@ package ntnu.idatt2016.v233.SmartMat.entity;
 
 import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
 import jakarta.persistence.*;
-import lombok.AllArgsConstructor;
-import lombok.Builder;
-import lombok.Data;
-import lombok.NoArgsConstructor;
+import lombok.*;
 import ntnu.idatt2016.v233.SmartMat.entity.group.Group;
 import ntnu.idatt2016.v233.SmartMat.entity.product.Product;
 
@@ -26,7 +23,7 @@ import java.util.List;
 @AllArgsConstructor
 @Builder
 @Entity(name = "shopping_list")
-@Data
+@Getter @Setter
 public class ShoppingList {
     @Id
     @GeneratedValue(strategy = GenerationType.IDENTITY)
@@ -44,7 +41,7 @@ public class ShoppingList {
             name = "shopping_list_product",
             joinColumns = @JoinColumn(name = "shopping_list_id"),
             inverseJoinColumns = @JoinColumn(name = "ean"))
-    @JsonIgnoreProperties("shoppingList")
+    @JsonIgnoreProperties("shoppingLists")
     private List<Product> products;
 
 
diff --git a/src/main/java/ntnu/idatt2016/v233/SmartMat/entity/product/Product.java b/src/main/java/ntnu/idatt2016/v233/SmartMat/entity/product/Product.java
index 75fed4540e04bba4e4e7ae238432f34b5c92faf1..fd5e6793c01de0efd926a8b42ed6bbb2d347755b 100644
--- a/src/main/java/ntnu/idatt2016/v233/SmartMat/entity/product/Product.java
+++ b/src/main/java/ntnu/idatt2016/v233/SmartMat/entity/product/Product.java
@@ -41,12 +41,14 @@ public class Product{
 
     @ManyToMany(mappedBy = "products")
     @JsonIgnoreProperties({"products"})
+    @JsonIgnore
     List<ShoppingList> shoppingLists;
 
 
     @ManyToOne
     @JoinColumn(name = "category_name")
     @JsonIgnoreProperties({"products"})
+    @JsonIgnore
     Category category;
 
     @Column(name = "image_url")
@@ -70,6 +72,7 @@ public class Product{
             name = "product_allergy",
             joinColumns = @JoinColumn(name = "ean"),
             inverseJoinColumns = @JoinColumn(name = "allergy_name"))
+    @JsonIgnore
     List<Allergy> allergies;
 
     @OneToMany(cascade = CascadeType.ALL)