```APIs: func(originalImplementation tpepmodels.APIInterface) tpepmodels.APIInterface {
						// First we copy the original implementation
						originalThirdPartySignInUpPOST := *originalImplementation.ThirdPartySignInUpPOST

						// we override the thirdpartyemailpassword signinup POST API to return the social provider's access token
						(*originalImplementation.ThirdPartySignInUpPOST) = func(provider tpmodels.TypeProvider, code string, authCodeResponse interface{}, redirectURI string, options tpmodels.APIOptions, userContext supertokens.UserContext) (tpepmodels.ThirdPartyOutput, error) {

							// first we call the original implementation
							resp, err := originalThirdPartySignInUpPOST(provider, code, authCodeResponse, redirectURI, options, userContext)
							if err != nil {
								return tpepmodels.ThirdPartyOutput{}, err
							}

							// if sign in / up was successful, get access token from the social login provider
							if resp.OK != nil {
								authCodeResponse := resp.OK.AuthCodeResponse

								accessToken := authCodeResponse.(map[string]interface{})["access_token"].(string)
								thirdParty := resp.OK.User.ThirdParty.ID

								firstName, lastName := getNameFromProvider(thirdParty, accessToken)

								fmt.Println("firstname", firstName, "lastname", lastName)

								responseJson := map[string]interface{}{
									"createdNewUser": resp.OK.CreatedNewUser,
									"status":         "OK",
									"user": map[string]interface{}{
										"email":      resp.OK.User.Email,
										"id":         resp.OK.User.ID,
										"thirdParty": resp.OK.User.ID,
										"firstName":  firstName,
										"lastName":   lastName,
										"timeJoined": resp.OK.User.TimeJoined,
									},
								}

								bytes, _ := json.Marshal(responseJson)

								options.Res.Header().Set("Content-Type", "application/json")
								options.Res.WriteHeader(200)
								options.Res.Write(bytes)

								return tpepmodels.ThirdPartyOutput{
									OK: &struct {
										CreatedNewUser   bool
										User             tpepmodels.User
										AuthCodeResponse interface{}
										Session          sessmodels.SessionContainer
									}{},
								}, nil
							}
							return resp, err
						}
						return originalImplementation
					},```