diff --git a/devU-api/scripts/populate-db.ts b/devU-api/scripts/populate-db.ts
index 3fa64f48..cc31b80a 100644
--- a/devU-api/scripts/populate-db.ts
+++ b/devU-api/scripts/populate-db.ts
@@ -43,22 +43,89 @@ async function SendPOST(path: string, requestBody: string) {
     console.log(responseBody)
     throw new Error('400/500 Level HTTP Response Received: ' + response.status)
   } else {
-    const responseBody = await response.json()
-    return responseBody.id
+    return await response.json()
   }
 }
 
-/*
-    -- Billy --
-    Student in 302
 
-    -- Bob --
-    Student in 312
+async function CreateCourse(name:string, number:string, semester:string) {
+  const courseData = {
+    name: name,
+    semester: semester,
+    number: number,
+    startDate: '2024-01-24T00:00:00-0500',
+    endDate: '2024-05-10T23:59:59-0500',
+  };
+  return await SendPOST('/courses', JSON.stringify(courseData), 'admin');
+}
+
+
+async function createAssignment(courseId:number, name:string, categoryName:string) {
+    const time = new Date().getTime();
+    const startDate = new Date(time + 60 * 1000).toISOString();
+    const dueDate = new Date(time + 7 * 24 * 60 * 60 * 1000).toISOString();
+    const endDate = new Date(time + 14 * 24 * 60 * 60 * 1000).toISOString();
+
+  const assignmentData = {
+    courseId: courseId,
+    name: name,
+    startDate: startDate,
+    dueDate: dueDate,
+    endDate: endDate,
+    categoryName: categoryName,
+    description: "This is a test assignment for course Id:."+courseId,
+    maxFileSize: 1024*20,
+    disableHandins: false
+  };
+  return await SendPOST('/assignments', JSON.stringify(assignmentData), 'admin');
+}
+
+
+async function createNonContainerAutoGrader(assignmentId:number, problemName:string, Score:number, Regex:string, isRegex:boolean){
+  const problemData = {
+    assignmentId: assignmentId,
+    question: problemName,
+    score: Score,
+    correctString: Regex,
+    isRegex: isRegex
+    };
+return await SendPOST('/nonContainerAutoGrader', JSON.stringify(problemData), 'admin');
+}
+
+
+async function createSubmission(courseId:number, assignmentId:number, userId:number, externalId:string, content?:string, file?:File) {
+  const time = new Date().toISOString();
+
+  content = content || `This is a test submission for assignment Id: ${assignmentId}`;
+  const fullContent = `{"filepath":"${file ? file.name : ''}","form":${JSON.stringify(content)}}`;
+
+  const submissionData = {
+    createdAt: time,
+    updatedAt: time,
+    courseId: courseId,
+    assignmentId: assignmentId,
+    userId: userId,
+    content: fullContent
+  };
+
+  return await SendPOST('/submissions', JSON.stringify(submissionData), externalId);
+}
+
+
+async function createAssignmentProblem(assignmentId:number, problemName:string, maxScore:number){
+  const problemData = {
+    assignmentId: assignmentId,
+    problemName: problemName,
+    maxScore: maxScore
+    };
+return await SendPOST('/assignment-problems', JSON.stringify(problemData), 'admin');
+}
+
+
+async function gradeSubmission(submissionId:number){
+  return await SendPOST(`/grade/${submissionId}`, '', 'admin')
+}
 
-    -- Jones --
-    Student in 302 & 312
-    hasn't submitted anything
-*/
 async function RunRequests() {
   try {
     await fetchToken()
@@ -351,7 +418,6 @@ async function RunRequests() {
   } catch (e) {
     console.error(e)
   }
-
 }
 
 RunRequests()
\ No newline at end of file
diff --git a/devU-api/src/auth/login.developer/login.developer.controller.ts b/devU-api/src/auth/login.developer/login.developer.controller.ts
index 7d07dc6d..8462da5b 100644
--- a/devU-api/src/auth/login.developer/login.developer.controller.ts
+++ b/devU-api/src/auth/login.developer/login.developer.controller.ts
@@ -3,7 +3,7 @@ import { Request, Response, NextFunction } from 'express'
 import UserService from '../../entities/user/user.service'
 import AuthService from '../../auth/auth.service'
 
-import { GenericResponse } from '../../utils/apiResponse.utils'
+// import { GenericResponse } from '../../utils/apiResponse.utils'
 import { refreshCookieOptions } from '../../utils/cookie.utils'
 
 export async function callback(req: Request, res: Response, next: NextFunction) {
@@ -14,7 +14,8 @@ export async function callback(req: Request, res: Response, next: NextFunction)
     const refreshToken = AuthService.createRefreshToken(user)
 
     res.cookie('refreshToken', refreshToken, refreshCookieOptions)
-    res.status(200).json(new GenericResponse('Login successful'))
+    //res.status(200).json(new GenericResponse('Login successful'))
+    res.status(200).json({ message: 'Login successful', userId: user.id })
   } catch (err) {
     next(err)
   }
diff --git a/devU-api/src/entities/grader/grader.service.ts b/devU-api/src/entities/grader/grader.service.ts
index bb248f49..b6433645 100644
--- a/devU-api/src/entities/grader/grader.service.ts
+++ b/devU-api/src/entities/grader/grader.service.ts
@@ -27,9 +27,9 @@ export async function grade(submissionId: number) {
     const assignmentProblems = await assignmentProblemService.list(assignmentId)
 
     
-    var score = 0
-    var feedback = ''
-    var allScores = [] //This is the return value, the serializer parses it into a GraderInfo object for the controller to return
+    let score = 0
+    let feedback = ''
+    let allScores = [] //This is the return value, the serializer parses it into a GraderInfo object for the controller to return
 
     //Run Non-Container Autograders
     for (const question in form) { 
@@ -53,25 +53,27 @@ export async function grade(submissionId: number) {
 
     //Run Container Autograders
     //Mock functionality, this is not finalized!!!!
-    for (const filepath of filepaths) {
-        const containerGrader = containerAutograders.find(grader => grader.autogradingImage === filepath) //PLACEHOLDER, I'm just using autogradingImage temporarily to associate graders to files
-
-        if (containerGrader) {
-            const gradeResults = await mockContainerCheckAnswer(filepath, serializeContainer(containerGrader))
-
-            for (const result of gradeResults) {
-                const problemScoreObj: SubmissionProblemScore = {
-                    submissionId: submissionId,
-                    assignmentProblemId: 1, //PLACEHOLDER, an assignmentProblem must exist in the db for this to work
-                    score: result.score,
-                    feedback: result.feedback,
+    if (filepaths){
+        for (const filepath of filepaths) {
+            const containerGrader = containerAutograders.find(grader => grader.autogradingImage === filepath) //PLACEHOLDER, I'm just using autogradingImage temporarily to associate graders to files
+
+            if (containerGrader) {
+                const gradeResults = await mockContainerCheckAnswer(filepath, serializeContainer(containerGrader))
+
+                for (const result of gradeResults) {
+                    const problemScoreObj: SubmissionProblemScore = {
+                        submissionId: submissionId,
+                        assignmentProblemId: 1, //PLACEHOLDER, an assignmentProblem must exist in the db for this to work
+                        score: result.score,
+                        feedback: result.feedback,
+                    }
+                    allScores.push(await submissionProblemScoreService.create(problemScoreObj))
+                    score += result.score
+                    feedback += result.feedback + '\n'
                 }
-                allScores.push(await submissionProblemScoreService.create(problemScoreObj))
-                score += result.score
-                feedback += result.feedback + '\n'
             }
         }
-    } 
+    }
 
     //Grading is finished. Create SubmissionScore and AssignmentScore and save to db.
     const scoreObj: SubmissionScore = {
@@ -86,7 +88,7 @@ export async function grade(submissionId: number) {
     if (assignmentScoreModel) { //If assignmentScore already exists, update existing entity
         const assignmentScore = serializeAssignmentScore(assignmentScoreModel)
         assignmentScore.score = score
-        assignmentScoreService.update(assignmentScore)
+        await assignmentScoreService.update(assignmentScore)
         
     } else { //Otherwise make a new one
         const assignmentScore: AssignmentScore = {
@@ -94,7 +96,7 @@ export async function grade(submissionId: number) {
             userId: submission.userId,
             score: score,
         }
-        assignmentScoreService.create(assignmentScore)
+        await assignmentScoreService.create(assignmentScore)
     }
 
     return allScores
diff --git a/devU-client/src/components/pages/assignmentDetailPage.tsx b/devU-client/src/components/pages/assignmentDetailPage.tsx
index 718eb96a..9c8e6e5f 100644
--- a/devU-client/src/components/pages/assignmentDetailPage.tsx
+++ b/devU-client/src/components/pages/assignmentDetailPage.tsx
@@ -93,6 +93,8 @@ const AssignmentDetailPage = () => {
             // Now you can use submissionResponse.id here
             await RequestService.post(`/api/grade/${response.id}`, {} )
             setAlert({ autoDelete: true, type: 'success', message: 'Submission Graded' })
+
+            fetchData()
         } catch (err) {
             const message = Array.isArray(err) ? err.map((e) => `${e.param} ${e.msg}`).join(', ') : err.message
             setAlert({ autoDelete: false, type: 'error', message })
diff --git a/devU-client/src/components/pages/submissionDetailPage.tsx b/devU-client/src/components/pages/submissionDetailPage.tsx
index fc1d3337..93bef132 100644
--- a/devU-client/src/components/pages/submissionDetailPage.tsx
+++ b/devU-client/src/components/pages/submissionDetailPage.tsx
@@ -13,8 +13,7 @@ import { SET_ALERT } from 'redux/types/active.types'
 
 
 
-const SubmissionDetailPage = (props : any) => { 
-    const { state } = props.location
+const SubmissionDetailPage = () => { 
 
     const [loading, setLoading] = useState(true)
     const [error, setError] = useState(null)
@@ -29,7 +28,7 @@ const SubmissionDetailPage = (props : any) => {
 
     const [showManualGrade, setToggleManualGrade] = useState(false)
     const [formData, setFormData] = useState({
-        submissionId: state.id,
+        submissionId: submissionId,
         score: 0,
         feedback: '',
         releasedAt: "2024-10-05T14:48:00.00Z"
@@ -37,7 +36,7 @@ const SubmissionDetailPage = (props : any) => {
 
     const fetchData = async () => {
         try {
-            const submissionScore = await RequestService.get<SubmissionScore>( `/api/submission-scores/${submissionId}` )
+            const submissionScore = (await RequestService.get<SubmissionScore[]>( `/api/submission-scores?submission=${submissionId}` )).pop() ?? null
             setSubmissionScore(submissionScore)
 
             const submissionProblemScores = await RequestService.get<SubmissionProblemScore[]>( `/api/submission-problem-scores/${submissionId}` )
diff --git a/devU-client/src/components/pages/submissionFeedbackPage.tsx b/devU-client/src/components/pages/submissionFeedbackPage.tsx
index 0ed508b7..8661e7ec 100644
--- a/devU-client/src/components/pages/submissionFeedbackPage.tsx
+++ b/devU-client/src/components/pages/submissionFeedbackPage.tsx
@@ -19,7 +19,7 @@ const SubmissionFeedbackPage = () => {
 
     const fetchData = async () => {
         try {
-            const submissionScore = await RequestService.get<SubmissionScore>( `/api/submission-scores/${submissionId}` )
+            const submissionScore = (await RequestService.get<SubmissionScore[]>( `/api/submission-scores?submission=${submissionId}` )).pop() ?? null
             setSubmissionScore(submissionScore)
 
             const submissionProblemScores = await RequestService.get<SubmissionProblemScore[]>( `/api/submission-problem-scores/${submissionId}` )
@@ -48,8 +48,6 @@ const SubmissionFeedbackPage = () => {
 
     return(
         <PageWrapper>
-            {console.log(assignment)}
-            {console.log(assignmentProblems)}
             <h1>Feedback for {assignment?.name}</h1>
             {submissionScore?.feedback ? (
                 <div>
