diff --git a/src/main/java/Team5/SmartTowns/Data/Location.java b/src/main/java/Team5/SmartTowns/Data/Location.java
index 01ba2932c6b7d0a6201aa8128161bf7ad8b27526..cf9e69645f80f10116cdcc6a7b428c622e619c91 100644
--- a/src/main/java/Team5/SmartTowns/Data/Location.java
+++ b/src/main/java/Team5/SmartTowns/Data/Location.java
@@ -3,8 +3,11 @@ package Team5.SmartTowns.Data;
 
 import lombok.AllArgsConstructor;
 import lombok.Data;
+import lombok.NoArgsConstructor;
+
 @Data
 @AllArgsConstructor
+@NoArgsConstructor
 public class Location {
 //    private int locationID;
     private String locationName;
@@ -13,6 +16,8 @@ public class Location {
     private String locationPlace;
     private int locationTrailID;
 
+
+
     @Override
     public String toString() {
         return "Location{" +
diff --git a/src/main/java/Team5/SmartTowns/Towns/TownController.java b/src/main/java/Team5/SmartTowns/Towns/TownController.java
index a09e012a0b448d668a3d7e7c395cbff27826dac7..6029b5e790d80a36cfd911020c3cfd5b23d40397 100644
--- a/src/main/java/Team5/SmartTowns/Towns/TownController.java
+++ b/src/main/java/Team5/SmartTowns/Towns/TownController.java
@@ -10,7 +10,9 @@ import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.servlet.ModelAndView;
 
+import java.util.ArrayList;
 import java.util.List;
+import java.util.Objects;
 
 @Controller
 public class TownController {
@@ -29,7 +31,7 @@ public class TownController {
 
     }
 
-    @GetMapping("/home/town")
+    @GetMapping("/home/town/Caerphilly")
     public ModelAndView getATownTrailsList(){
         ModelAndView modelAndView = new ModelAndView("userTrails/userTrailsTemplate");
         TownStorage townsCurrent= new TownStorage().getInstance();
@@ -37,15 +39,19 @@ public class TownController {
         List<Town> Towns = townRepository.getAllTowns();
         modelAndView.addObject("towns", Towns);
         List<Location> Locations = locationRepository.getAllLocation();
+        Locations= filterByLocationForTrails(Locations, "Caerphilly");
         modelAndView.addObject("locations", Locations);
         return modelAndView;
     }
 
     public List<Location> filterByLocationForTrails(List<Location> locationList , String town){
-        List<Location> filteredList;
-        for( location:locationList){
+        List<Location> filteredList = new ArrayList<Location>();;
+        for( Location location:locationList){
+            if (Objects.equals(location.getLocationPlace(), town)){
+                filteredList.add(location);
+            }
 
-        }
+        }return filteredList;
 
     }
 
diff --git a/src/main/resources/templates/userTrails/userTrailsTemplate.html b/src/main/resources/templates/userTrails/userTrailsTemplate.html
index 65317b0ebf892a3a254a14f3f9f26e61dec7a3c0..97b99771f33f7e65f3f376d1b44a26230aeb2a0d 100644
--- a/src/main/resources/templates/userTrails/userTrailsTemplate.html
+++ b/src/main/resources/templates/userTrails/userTrailsTemplate.html
@@ -6,7 +6,27 @@
 </head>
 <body>
 <main>
-    <div th:each="location:${locations}"></div>
+    <H1>Caerphilly</H1>
+    <div th:each="location:${locations}">
+
+        <H2></H2>
+
+        <ul>
+        <li th:text="${location.getLocationPlace()}"></li>
+        </ul>
+
+
+
+
+
+
+
+
+
+
+
+
+    </div>
 
 
 
diff --git a/src/test/java/Team5/SmartTowns/SmartTownsApplicationTests.java b/src/test/java/Team5/SmartTowns/SmartTownsApplicationTests.java
index b506b4dd06a2e682319d4f18b0fd58897f27f6a2..68a585a4a58322490600f41ccb5b33502fee4622 100644
--- a/src/test/java/Team5/SmartTowns/SmartTownsApplicationTests.java
+++ b/src/test/java/Team5/SmartTowns/SmartTownsApplicationTests.java
@@ -1,22 +1,38 @@
 package Team5.SmartTowns;
 
 import Team5.SmartTowns.Data.Location;
+import Team5.SmartTowns.Data.Town;
+import Team5.SmartTowns.Data.TownRepository;
 import Team5.SmartTowns.Towns.TownController;
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
 
+import java.util.List;
+
 import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertSame;
 
 @SpringBootTest
 class SmartTownsApplicationTests {
 
+
 	private static TownController townController;
 	@Autowired
 	private Team5.SmartTowns.Data.locationRepository locationRepository;
 
 	private Team5.SmartTowns.Data.Location location;
+
+	@Autowired
+	private Team5.SmartTowns.Data.TownRepository townRepository;
+
+	private Team5.SmartTowns.Data.Location town;
+
+	@BeforeAll
+	public static void before() {
+		locationRepositroy = new location.locationRepository();
+	}
 //	@BeforeAll
 //	public static void before(){}
 //		location = new Location();
@@ -26,14 +42,20 @@ class SmartTownsApplicationTests {
 	void contextLoads() {
 	}
 
-//	@Test
-//	public void whenFilteringTownsByLocationsReturnOneTown() {
-//
-//		townController.filterByLocationForTrails()
-//
-//
-//		assertEquals(, townController.filterByLocationForTrails);
-//	}
-//
-//
+	@Test
+	public void whenFilteringTownsByLocationsReturnOneTown() {
+		List<Location> allLocations = locationRepository.getAllLocation();
+		List<Town> allTowns = townRepository.getAllTowns();
+		int allLocationNumber=allLocations.size();
+		int allLocationNumberAfterFilter=0;
+		for (Town town : allTowns){
+			allLocationNumberAfterFilter+=townController.filterByLocationForTrails(allLocations,town.getTownName()).size();
+		}
+		assertSame(allLocationNumber,allLocationNumberAfterFilter);
+ /// list of all locations,
+//	filter by all three towns
+//	add together size  should be same
+	}
+
+
 }