diff --git a/src/components/archives/ArchiveDetails.js b/src/components/archives/ArchiveDetails.js
index 51af3a92e95bc9cfa4cec6299e763294517b7940..9ac3f575b9c86d70dadaf4a61da50d5b033ffa68 100644
--- a/src/components/archives/ArchiveDetails.js
+++ b/src/components/archives/ArchiveDetails.js
@@ -1,7 +1,6 @@
 import React, { useContext } from "react";
 import { useParams } from "react-router-dom";
 import { GlobalContext } from "../../contexts/GlobalContext";
-import { QueryContextProvider } from "../../contexts/QueryContext";
 import {
   Container,
   Row,
@@ -77,9 +76,7 @@ export default function ArchiveDetails(props) {
             </Row>
             <Row className="pt-3">
               <Col>
-                <QueryContextProvider>
-                  <DataProductCategories archive={archive} />
-                </QueryContextProvider>
+                <DataProductCategories archive={archive} />
               </Col>
             </Row>
           </Col>
diff --git a/src/components/archives/DataProductCategories.js b/src/components/archives/DataProductCategories.js
index 912a76db0c593d858c2ea45319880516eeb41a3b..beb3cf92a1c894cb2d095d3c24b3631774c58837 100644
--- a/src/components/archives/DataProductCategories.js
+++ b/src/components/archives/DataProductCategories.js
@@ -46,8 +46,9 @@ export default function DataProductCategories({ archive }) {
                   // probably need to define onSubmit instead of point to query_url
                   <Button  
                     onClick={() => {
+                      console.log('onClick', category)
                       setDPLevel(category.level);
-                      setCollection(category.category);
+                      setCollection(category.collection);
                       history.push(query_url);}}
                   >
                     Browse Catalog & Run Queries
diff --git a/src/components/query/ASTRONVOResults.js b/src/components/query/ASTRONVOResults.js
index 4afee0463dd113272be9b02b5adf32caecb8babd..fda627c25e00fec36e3a06f2c157be294ca555fb 100644
--- a/src/components/query/ASTRONVOResults.js
+++ b/src/components/query/ASTRONVOResults.js
@@ -1,11 +1,13 @@
 import React, { useContext } from "react";
-import { Table, Alert } from "react-bootstrap";
+import { Table, Alert, Button } from "react-bootstrap";
+import { useHistory } from "react-router-dom";
 import { QueryContext } from "../../contexts/QueryContext";
 import LoadingSpinner from "../LoadingSpinner";
 import Paginate from "../Paginate";
 
 export default function ASTRONVOResults({ catalog }) {
-  const { queryMap, page, setPage } = useContext(QueryContext);
+  const { queryMap, page, setPage, setFits } = useContext(QueryContext);
+  const history = useHistory();
   if (!queryMap) return null;
   if (queryMap.get(catalog).status === "fetched") {
     if (!("results" in queryMap.get(catalog).results))
@@ -41,6 +43,7 @@ export default function ASTRONVOResults({ catalog }) {
               <th>Calibration Level</th>
               <th>Size</th>
               <th>Link to data</th>
+              <th></th>
             </tr>
           </thead>
           <tbody>
@@ -61,9 +64,30 @@ export default function ASTRONVOResults({ catalog }) {
                   <td>{Number((result.size / 1024).toFixed(1))} MB</td>
                   <td>
                     <a href={result.url} rel="noopener noreferrer" download>
-                      Download
+                      Download data
                     </a>
                   </td>
+                  <td>
+                    {/* if results is in .fits format and is smaller than 10 MB,
+                      display it with js9 */}
+                    {((result.url.includes('fits')  || (result.url.includes('FITS'))) && 
+                      Number(result.size) < 10000) ? 
+                      (<Button 
+                        onClick={() => {
+                          setFits(result.result);
+                          history.push('/fitsviewer');
+                        }}
+                      >View fits with DS9</Button>) :
+                      (result.thumbnail && (
+                        <a
+                          href={result.thumbnail}
+                          target="_blank"
+                          rel="noopener noreferrer"
+                          className="ml-3"
+                        >
+                          View Thumbnail
+                        </a>))}
+                  </td>
                 </tr>
               );
             })}
diff --git a/src/components/query/ApertifResults.js b/src/components/query/ApertifResults.js
index 40d1519372eaf0bf4d0c8e5d877a01f17ea64384..b262289123f0b583b035e5b9c8a1f1af42f153ef 100644
--- a/src/components/query/ApertifResults.js
+++ b/src/components/query/ApertifResults.js
@@ -41,6 +41,7 @@ export default function ApertifResults({ catalog }) {
               <th>Data Product Type</th>
               <th>Data Product Subtype</th>
               <th>Link to data</th>
+              <th></th>
             </tr>
           </thead>
           <tbody>
@@ -64,17 +65,20 @@ export default function ApertifResults({ catalog }) {
                       href={result.url}
                       target="_blank"
                       rel="noopener noreferrer"
+                      download
                     >
-                      View data
+                      Download data
                     </a>
-                    {result.dataProductSubType === "continuumMF" ? (
+                  </td>
+                  <td>
+                    {result.thumbnail ? (
                       <a
                         href={result.thumbnail}
                         target="_blank"
                         rel="noopener noreferrer"
                         className="ml-3"
                       >
-                        Thumbnail
+                        View Thumbnail
                       </a>
                     ) : null}
                   </td>
diff --git a/src/components/query/VOServiceResults.js b/src/components/query/VOServiceResults.js
index 95633378ae76af49968de88fe351df5ced388559..1183589352b8a818c39b5c58cbcc9e3136326e15 100644
--- a/src/components/query/VOServiceResults.js
+++ b/src/components/query/VOServiceResults.js
@@ -37,6 +37,7 @@ export default function VORegistryResults({ catalog }) {
           <thead>
             <tr className="bg-light">
               <th>Link to data</th>
+              <th></th>
             </tr>
           </thead>
           <tbody>
@@ -49,15 +50,25 @@ export default function VORegistryResults({ catalog }) {
                     </a>
                   </td>
                   <td>
-                    {/* if results is in .fits format
-                      display it with js9 */}
-                    {(result.result.endsWith('.fits')) && 
-                      <Button 
+                    {/* if results is in .fits format and is smaller than 10 MB,
+                    display it with js9 */}
+                    {((result.result.includes('fits')  || (result.result.includes('FITS'))) && 
+                      Number(result.size) < 10000) ? 
+                      (<Button 
                         onClick={() => {
                           setFits(result.result);
                           history.push('/fitsviewer');
                         }}
-                      >View fits</Button>}
+                      >View fits with DS9</Button>) :
+                      (result.thumbnail && (
+                        <a
+                          href={result.thumbnail}
+                          target="_blank"
+                          rel="noopener noreferrer"
+                          className="ml-3"
+                        >
+                          View Thumbnail
+                        </a>))}
                   </td>
                 </tr>
               );
diff --git a/src/contexts/QueryContext.js b/src/contexts/QueryContext.js
index 7ec9fa65d85b8be4a03d8d3cc32b9bd52d560467..602e881e87ce86ef529b3b3c185889f08c09f5bf 100644
--- a/src/contexts/QueryContext.js
+++ b/src/contexts/QueryContext.js
@@ -31,8 +31,14 @@ export function QueryContextProvider({ children }) {
         console.log("collection value: ", collection);
         console.log("dplevel value: ", dplevel);
         Object.keys(props).map((key) => {
-          if (key == "collection")
+          if (key == "collection" && collection) {
             console.log("has key collection, default value is: ", props[key]["default"]);
+            props[key]["default"] = collection;
+          }
+          if (key == "level" && dplevel) {
+            console.log("has key dplevel, default value is: ", props[key]["default"]);
+            props[key]["default"] = dplevel;
+          }
         });
         setConfig(config);
       });
diff --git a/src/routes/Routes.js b/src/routes/Routes.js
index d54e4be47a3f74264aba5e2142dc69459de9d858..b915d4a687559c5a3c3e4594dd3a8d71105379ed 100644
--- a/src/routes/Routes.js
+++ b/src/routes/Routes.js
@@ -7,7 +7,7 @@ import QueryCatalogs from "../components/query/QueryCatalogs";
 import QueryIVOARegistry from "../components/query/QueryIVOARegistry";
 import { BrowserRouter as Router } from "react-router-dom";
 import NavBar from "../components/NavBar";
-import { QueryContext, QueryContextProvider } from "../contexts/QueryContext";
+import { QueryContext } from "../contexts/QueryContext";
 import Rucio from "../components/Rucio";
 import Interactive from "../components/Interactive";
 import { IVOAContextProvider } from "../contexts/IVOAContext";