diff --git a/src/components/basket/addtobasket.js b/src/components/basket/addtobasket.js
index 93122ad910e7fc8e943f45758e9bae384f0d428d..95d0844ad52a3b3122529de910a3d97417cf5a08 100644
--- a/src/components/basket/addtobasket.js
+++ b/src/components/basket/addtobasket.js
@@ -4,7 +4,7 @@ import { Form } from "react-bootstrap";
 import { GlobalContext } from "../../contexts/GlobalContext";
 import { BasketContext } from "../../contexts/BasketContext";
 
-export default function Addtobasket(props) {
+export default function AddtoBasket(props) {
   const { isAuthenticated } = useContext(GlobalContext);
   const basketContext = useContext(BasketContext);
 
@@ -23,7 +23,10 @@ export default function Addtobasket(props) {
     console.log([removeFromBasketItem, basketContext]);
   }
 
-  if (isAuthenticated){
+  // fake authentication when in 'development' mode.
+  let authenticated = isAuthenticated || (process.env.NODE_ENV === "development")
+
+  if (authenticated){
     return (
       <Form.Check id={props.id} type="checkbox" onChange={(event) => {
         const action = event.target.checked ? addToBasket : removeFromBasket;
diff --git a/src/components/basket/savebasket.js b/src/components/basket/savebasket.js
index 5fbe63ae7cc35bbc4efc1710e2e4fb5a6e683a92..60ea735c38f1391ba152612d22c61eaa4564408b 100644
--- a/src/components/basket/savebasket.js
+++ b/src/components/basket/savebasket.js
@@ -17,6 +17,7 @@ export default function SaveBasket(props) {
     axios
       .get(profileUrl, {withCredentials: true})
       .then((response) => {
+        console.log(response.data)
         const userProfileUrl = profileUrl + response.data.results[0].user_name + "/";
 
         axios
@@ -33,8 +34,11 @@ export default function SaveBasket(props) {
       });
   }
 
+  // fake authentication when in 'development' mode.
+  let authenticated = isAuthenticated || (process.env.NODE_ENV === "development")
+
+  if(authenticated) {
 
-  if(isAuthenticated){
     return (
         <Button
           type="button"
diff --git a/src/components/query/QueryResults.js b/src/components/query/QueryResults.js
index 69e23c17de7eb00bbe9e39e62a16a18c98bbbd0b..36f24570b78c3e123975ac183dbee6eb732a7fe0 100644
--- a/src/components/query/QueryResults.js
+++ b/src/components/query/QueryResults.js
@@ -5,6 +5,7 @@ import ZooniverseResults from "./ZooniverseResults";
 import VORegListResults from "./VORegListResults";
 import LOFARResults from "./LOFARResults";
 import RucioResults from "./RucioResults";
+import SampResults from "./SampResults";
 
 export default function QueryResults({ catalog }) {
   switch (catalog) {
@@ -22,6 +23,8 @@ export default function QueryResults({ catalog }) {
       return <LOFARResults catalog={catalog} />;
     case "rucio":
       return <RucioResults catalog={catalog} />;
+    case "samp":
+      return <SampResults catalog={catalog} />;
     default:
       return null;
   }
diff --git a/src/components/query/SampResults.js b/src/components/query/SampResults.js
new file mode 100644
index 0000000000000000000000000000000000000000..c67ce83184a7c1e6c17b6b13371032d92cdcdbb0
--- /dev/null
+++ b/src/components/query/SampResults.js
@@ -0,0 +1,7 @@
+import React, { useContext, useState, useEffect } from "react";
+import SampPage from './samp/SampPage';
+
+// TODO: this is not hooked up to the database yet as a catalog
+export default function SampResults({ catalog }) {
+    return <SampPage/>
+}
diff --git a/src/components/query/samp/SampGrid.js b/src/components/query/samp/SampGrid.js
index 81ef70264a49de2e7da46bc84b5bfe828042c9bf..2be08d96d2ab5bee91afef9771bcc82e4b7b03ab 100644
--- a/src/components/query/samp/SampGrid.js
+++ b/src/components/query/samp/SampGrid.js
@@ -1,7 +1,17 @@
-import React from "react";
+import React, {useState, useContext }  from 'react';
 import { Table } from "react-bootstrap";
+import { BasketContext } from "../../../contexts/BasketContext";
+import AddToBasket from "../../basket/addtobasket";
+
+function SAMPBasketItem(record){
+    return {
+        archive: "samp",
+        record: record,
+    };
+}
 
 export default function SampResults(props) {
+    const basketContext = useContext(BasketContext);
 
     let fieldnames = props.fieldnames
     let data = props.votable_in_json['data']
@@ -12,6 +22,7 @@ export default function SampResults(props) {
             <thead>
 
             <tr className="bg-light">
+                <th>Select</th>
                 {fieldnames.map((field) => {
                     return (
                         <th key={field}>{field}</th>
@@ -22,9 +33,18 @@ export default function SampResults(props) {
 
             </thead>
             <tbody>
-                {data.map((record) => {
+
+                {data.map((record, index) => {
+
+                    let id = `samp${index}`
+                    if (index > 10) {
+                        return
+                    }
                     return (
                         <tr key={record}>
+                            <td>
+                                <AddToBasket id={id}  item={SAMPBasketItem(record)} />
+                            </td>
                             {record.map((col) => {
                                 let value = col.toString()
 
diff --git a/src/components/query/samp/SampPage.js b/src/components/query/samp/SampPage.js
index 01803cff27643788d758929151b318239d3ab5a9..73ca9ffd489f05396108b2d3575990940d79a963 100644
--- a/src/components/query/samp/SampPage.js
+++ b/src/components/query/samp/SampPage.js
@@ -1,9 +1,17 @@
-import React, {useState }  from 'react';
+import React, {useState, useContext }  from 'react';
 
 import { getVOTableAsJSON } from './ReactVOTable'
 import SampGrid from './SampGrid'
+import { GlobalContext } from "../../../contexts/GlobalContext";
+import { QueryContext } from "../../../contexts/QueryContext";
+import { BasketContext } from "../../../contexts/BasketContext";
+import SaveBasket from "../../basket/savebasket";
+
 
 export default function SampPage(props) {
+    const context = useContext(QueryContext);
+    const basketContext = useContext(BasketContext);
+
     const [ myVOTable, setMyVOTable] = useState([]);
 
     // register to existing SAMP hub
@@ -88,6 +96,7 @@ export default function SampPage(props) {
                 <p>Start a SAMP enabled application (like Topcat), register to the hub and transmit data from Topcat.</p>
                 <button variant="outline-warning" onClick={() => register()}>register</button>&nbsp;
                 <button variant="outline-warning" onClick={() => unregister()}>unregister</button>&nbsp;
+                <SaveBasket />
 
                 {renderSampGrid}
             </div>
diff --git a/src/contexts/GlobalContext.js b/src/contexts/GlobalContext.js
index 4c6e27721b82edb0ad6a8dcdddacb1448f94be20..deea45d6cb5d69d990127c987902569f680aa1ac 100644
--- a/src/contexts/GlobalContext.js
+++ b/src/contexts/GlobalContext.js
@@ -18,7 +18,7 @@ export function GlobalContextProvider({ children }) {
   
   const api_host =
     process.env.NODE_ENV === "development"
-      ? "http://localhost:8000/esap-api/"
+      ? "http://localhost:5555/esap-api/"
       : "https://sdc-dev.astron.nl:5555/esap-api/";
   // "https://sdc.astron.nl:5555/esap-api/"
   // "http://localhost:5555/esap-api/"
diff --git a/src/routes/Routes.js b/src/routes/Routes.js
index 29e6abbd0da85301f95881a5df8bc24d60e0ff34..44a7eac0095688729b89472c32d209829b532f9f 100644
--- a/src/routes/Routes.js
+++ b/src/routes/Routes.js
@@ -10,6 +10,7 @@ import NavBar from "../components/NavBar";
 import Rucio from "../components/Rucio";
 import Interactive from "../components/Interactive";
 
+import { BasketContextProvider } from "../contexts/BasketContext";
 import { IVOAContextProvider } from "../contexts/IVOAContext";
 import { IDAContext } from "../contexts/IDAContext";
 import SampPage from '../components/query/samp/SampPage';
@@ -49,9 +50,13 @@ export default function Routes() {
         <Route exact path={["/adex-query", "/archives/:uri/query"]}>
           <QueryCatalogs />
         </Route>
-        <Route exact path="/samp" component={SampPage} />
+        <Route exact path="/samp"  >
+          <BasketContextProvider>
+            <SampPage/>
+          </BasketContextProvider>
+        </Route>
       </Switch>
-      <footer><small>esap-gui version 30 april 2021 11:00</small></footer>
+      <footer><small>esap-gui version 18 may 2021</small></footer>
     </Router>
   );
 }