diff --git a/hypha/apply/funds/models/applications.py b/hypha/apply/funds/models/applications.py
index 2e35e14621f20469a55cf62f1e70468ec245a161..3d0be44a3712457e12b9a4af75a0dcd1dab9ba77 100644
--- a/hypha/apply/funds/models/applications.py
+++ b/hypha/apply/funds/models/applications.py
@@ -442,6 +442,24 @@ class LabBase(EmailForm, WorkflowStreamForm, SubmittableStreamForm):  # type: ig
     def open_round(self):
         return self.live
 
+    def serve(self, request, *args, **kwargs):
+        if request.method == 'POST':
+            form = self.get_form(request.POST, request.FILES, page=self, user=request.user)
+            draft = request.POST.get('draft', None)
+            if form.is_valid():
+                form_submission = self.process_form_submission(form, draft=draft)
+                return self.render_landing_page(request, form_submission, *args, **kwargs)
+        else:
+            form = self.get_form(page=self, user=request.user)
+
+        context = self.get_context(request)
+        context['form'] = form
+        return TemplateResponse(
+            request,
+            self.get_template(request),
+            context
+        )
+
 
 class RoundsAndLabsQueryset(PageQuerySet):
     def new(self):