diff --git a/src/components/MyShoppingBasket.js b/src/components/MyShoppingBasket.js
new file mode 100644
index 0000000000000000000000000000000000000000..30f1161b47a1dee35f84f1762c66a20d395d6763
--- /dev/null
+++ b/src/components/MyShoppingBasket.js
@@ -0,0 +1,16 @@
+import React, { useContext } from "react";
+import { Button } from 'react-bootstrap';
+import { GlobalContext } from "../contexts/GlobalContext";
+import { BasketContext } from "../contexts/BasketContext";
+import { getShoppingIcon } from "../utils/styling";
+
+export default function MyShoppingBasket(props) {
+    const { api_host, isAuthenticated } = useContext(GlobalContext);
+    const basketContext = useContext(BasketContext);
+
+    if (isAuthenticated) {
+        return <Button> {getShoppingIcon("cart")} </Button>
+    } else {
+        return null
+    }
+}
\ No newline at end of file
diff --git a/src/components/NavBar.js b/src/components/NavBar.js
index 35e23b07845771a4001d38f6f46bbc9eaf318506..c636e4a96d1664c46d6c553b69f353e9046cfdd4 100644
--- a/src/components/NavBar.js
+++ b/src/components/NavBar.js
@@ -2,6 +2,7 @@ import React, { useContext } from "react";
 import { Navbar, Nav } from "react-bootstrap";
 import { NavLink } from "react-router-dom";
 import AuthControl from "./auth/authControl";
+import MyShoppingBasket from "./MyShoppingBasket"
 import { QueryContext } from "../contexts/QueryContext";
 import { GlobalContext } from "../contexts/GlobalContext";
 
@@ -30,7 +31,9 @@ export default function NavBar() {
           </Nav.Link>
         ))}
       </Nav>
-
+        <Nav>
+            <MyShoppingBasket />
+        </Nav>
       <Nav>
         <AuthControl />
       </Nav>
diff --git a/src/components/archives/DataProductCategories.js b/src/components/archives/DataProductCategories.js
index beb3cf92a1c894cb2d095d3c24b3631774c58837..b76583e2f0e74edcd87369425d689dbce78cec55 100644
--- a/src/components/archives/DataProductCategories.js
+++ b/src/components/archives/DataProductCategories.js
@@ -4,6 +4,7 @@ import { ListGroup, Card, Button, Row, Col } from "react-bootstrap";
 import { GlobalContext } from "../../contexts/GlobalContext";
 import { QueryContext } from "../../contexts/QueryContext";
 import axios from "axios";
+import { getQueryIcon } from "../../utils/styling";
 
 export default function DataProductCategories({ archive }) {
   const { api_host } = useContext(GlobalContext);
@@ -51,7 +52,7 @@ export default function DataProductCategories({ archive }) {
                       setCollection(category.collection);
                       history.push(query_url);}}
                   >
-                    Browse Catalog & Run Queries
+                      {getQueryIcon()} Query this Dataset
                   </Button>
 
                 );
diff --git a/src/components/basket/addtobasket.js b/src/components/basket/addtobasket.js
index 95d0844ad52a3b3122529de910a3d97417cf5a08..43b593747f2ede503d4109381f5449cb814917a8 100644
--- a/src/components/basket/addtobasket.js
+++ b/src/components/basket/addtobasket.js
@@ -24,7 +24,8 @@ export default function AddtoBasket(props) {
   }
 
   // fake authentication when in 'development' mode.
-  let authenticated = isAuthenticated || (process.env.NODE_ENV === "development")
+  // let authenticated = isAuthenticated || (process.env.NODE_ENV === "development")
+  let authenticated = isAuthenticated
 
   if (authenticated){
     return (
diff --git a/src/components/basket/savebasket.js b/src/components/basket/savebasket.js
index 60ea735c38f1391ba152612d22c61eaa4564408b..a4cb60dbc56e6fdac2602154b3eb5e08641d9fe4 100644
--- a/src/components/basket/savebasket.js
+++ b/src/components/basket/savebasket.js
@@ -3,7 +3,7 @@ import { Button } from "react-bootstrap";
 import { GlobalContext } from "../../contexts/GlobalContext";
 import { BasketContext } from "../../contexts/BasketContext";
 import axios from "axios";
-
+import { getShoppingIcon } from "../../utils/styling";
 
 export default function SaveBasket(props) {
   const { api_host, isAuthenticated } = useContext(GlobalContext);
@@ -35,7 +35,8 @@ export default function SaveBasket(props) {
   }
 
   // fake authentication when in 'development' mode.
-  let authenticated = isAuthenticated || (process.env.NODE_ENV === "development")
+  //let authenticated = isAuthenticated || (process.env.NODE_ENV === "development")
+  let authenticated = isAuthenticated
 
   if(authenticated) {
 
@@ -44,8 +45,8 @@ export default function SaveBasket(props) {
           type="button"
           variant="primary"
           onClick={() => saveBasket(basketContext.datasets)}
-          {...props}
-        >Save Data Selection</Button>
+          {...props}>
+            {getShoppingIcon("save_cart")} Save Basket</Button>
     );
   }
   else{
diff --git a/src/components/query/ApertifResults.js b/src/components/query/ApertifResults.js
index e5b08f4f090fff002a60f5eb603c140180e056ba..a6ec4f308542b2d5f3a4acf2b913c117ee41f4ee 100644
--- a/src/components/query/ApertifResults.js
+++ b/src/components/query/ApertifResults.js
@@ -3,15 +3,25 @@ import { Table, Alert } from "react-bootstrap";
 import axios from "axios";
 import { QueryContext } from "../../contexts/QueryContext";
 import { GlobalContext } from "../../contexts/GlobalContext";
+import { BasketContext } from "../../contexts/BasketContext";
 import LoadingSpinner from "../LoadingSpinner";
 import Paginate from "../Paginate";
 import HandlePreview from "./HandlePreview";
 import Preview from "./Preview";
+import SaveBasket from "../basket/savebasket";
+import AddToBasket from "../basket/addtobasket";
+
+function SAMPBasketItem(record){
+    return {
+        archive: "apertif",
+        record: record,
+    };
+}
 
 export default function ApertifResults({ catalog }) {
   const { queryMap, preview } = useContext(QueryContext);
   const { api_host } = useContext(GlobalContext);
-  const [page, setPage] = useState(queryMap.get(catalog).page);
+  const [page, setPage] = useState(queryMap.get(catalog).page);const { isAuthenticated } = useContext(GlobalContext);
 
   useEffect(() => {
     queryMap.set(catalog, {
@@ -61,14 +71,11 @@ export default function ApertifResults({ catalog }) {
           numAdjacent={3}
           numPages={numPages}
         />
+        <SaveBasket />
         <Table className="mt-3" responsive>
           <thead>
             <tr className="bg-light">
-              {/* <th>
-              <InputGroup>
-                <InputGroup.Checkbox />
-              </InputGroup>
-            </th> */}
+              <th>Basket</th>
               <th>Name</th>
               <th>RA</th>
               <th>Dec</th>
@@ -85,11 +92,9 @@ export default function ApertifResults({ catalog }) {
               return (
                 <>
                 <tr key={result.PID}>
-                  {/* <th>
-                  <InputGroup>
-                    <InputGroup.Checkbox />
-                  </InputGroup>
-                </th> */}
+                  <td>
+                    <AddToBasket id={result.id}  item={SAMPBasketItem(result)} />
+                  </td>
                   <td>{result.name}</td>
                   <td>{Number(result.RA).toFixed(1)}</td>
                   <td>{Number(result.dec).toFixed(1)}</td>
diff --git a/src/components/query/HandlePreview.js b/src/components/query/HandlePreview.js
index be37a2b0f5d9aff1195fb26db726f19626b5af2d..8b52bf11b3327eee266f2f2c165d62da187dadb0 100644
--- a/src/components/query/HandlePreview.js
+++ b/src/components/query/HandlePreview.js
@@ -1,6 +1,7 @@
 import React, { useContext } from 'react';
 import { Button } from 'react-bootstrap';
 import { QueryContext } from '../../contexts/QueryContext';
+import { getThumbnailIcon } from "../../utils/styling";
 
 export default function HandlePreview({ result }) {
     const { preview, setPreview, setDS9, setURL } = useContext(QueryContext);
@@ -24,7 +25,7 @@ export default function HandlePreview({ result }) {
                             setURL(result.thumbnail);
                         }}
                     >
-                        View Thumbnail
+                        {getThumbnailIcon()}  View Thumbnail
                     </Button>
                 ))
             }
diff --git a/src/components/query/QueryIVOARegistry.js b/src/components/query/QueryIVOARegistry.js
index ad404fdf1299b4e2b1f2c332eee2d98da83a0a77..bf12abd1c6c51662599e5d84476790661efe7f00 100644
--- a/src/components/query/QueryIVOARegistry.js
+++ b/src/components/query/QueryIVOARegistry.js
@@ -10,6 +10,7 @@ import parseQueryForm from "../../utils/form/parseQueryForm";
 import { IVOAContext } from "../../contexts/IVOAContext";
 import parseVOServiceForm from "../../utils/form/parseVOServiceForm";
 import VOServiceResults from "./VOServiceResults";
+import { getQueryIcon } from "../../utils/styling";
 
 export default function QueryIVOARegistry() {
   // queryMap is a map of dictionaries, where each dictionary consists of
@@ -203,7 +204,7 @@ export default function QueryIVOARegistry() {
           {...uiSchemaProp}
         >
           <div>
-            <Button type="submit">Query VO Registry</Button>
+            <Button type="submit">{getQueryIcon()} Query VO Registry</Button>
           </div>
         </Form>
         {Array.from(queryMap.keys()).map((catalog) => {
diff --git a/src/components/query/samp/SampGrid.js b/src/components/query/samp/SampGrid.js
index 2be08d96d2ab5bee91afef9771bcc82e4b7b03ab..84ede83d8223da0e5300060a5f668ee5436c6926 100644
--- a/src/components/query/samp/SampGrid.js
+++ b/src/components/query/samp/SampGrid.js
@@ -22,7 +22,7 @@ export default function SampResults(props) {
             <thead>
 
             <tr className="bg-light">
-                <th>Select</th>
+                <th>Basket</th>
                 {fieldnames.map((field) => {
                     return (
                         <th key={field}>{field}</th>
diff --git a/src/routes/Routes.js b/src/routes/Routes.js
index b29b34a92052cb4f37a52a06e38d44fd6f86e82e..a76bb1dce2b77c31436def405d778e536c7f75b7 100644
--- a/src/routes/Routes.js
+++ b/src/routes/Routes.js
@@ -56,7 +56,7 @@ export default function Routes() {
           </BasketContextProvider>
         </Route>
       </Switch>
-      <footer><small>esap-gui version 28 may 2021</small></footer>
+      <footer><small>esap-gui version 1 jun 2021</small></footer>
     </Router>
   );
 }
diff --git a/src/utils/styling.js b/src/utils/styling.js
new file mode 100644
index 0000000000000000000000000000000000000000..e1942a4e6ef01b9e76a241d738e078b9d718c6b2
--- /dev/null
+++ b/src/utils/styling.js
@@ -0,0 +1,54 @@
+import React from 'react';
+import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
+import {
+    faShoppingCart,
+    faCartArrowDown,
+    faCartPlus,
+    faImage,
+    faRunning,
+    faBinoculars,
+    faSearchPlus }
+    from '@fortawesome/free-solid-svg-icons'
+
+
+export const getShoppingIcon = (type) => {
+    let icon = undefined
+    let color = "darkgreen"
+    let size = 'md'
+
+    if (type === 'cart') {
+        icon = faShoppingCart
+        size = "md"
+        color = "white"
+    }
+
+    if (type === 'save_cart') {
+        icon = faCartArrowDown
+        size = "md"
+        color = "white"
+    }
+
+    if (type === 'plus_cart') {
+        icon = faCartPlus
+        size = "md"
+        color = "white"
+    }
+
+    return <FontAwesomeIcon size={size} icon={icon} color={color}/>
+}
+
+export const getThumbnailIcon = () => {
+    let icon = faImage
+    let color = "white"
+    let size = 'md'
+
+    return <FontAwesomeIcon size={size} icon={icon} color={color}/>
+}
+
+export const getQueryIcon = () => {
+    let icon = faSearchPlus
+    let color = "white"
+    let size = 'md'
+
+    return <FontAwesomeIcon size={size} icon={icon} color={color}/>
+}
\ No newline at end of file