Need Help Installing OliveTin on a QNAP NAS with CDVR Running on a Windows PC

I feel I know the answer, but here goes. Can project 1Click be installed on a storage NAS while Channels resides on a PC? Have a very fast PC running Channels but all of my docker containers live on my NAS as do my movie files.

Thanks in advance.

That should work fine. If it can run Docker (amd64 or arm64), you can install OliveTin-for-Channels (w/Project One-Click) on it.

Since I am running a QNAP NAS and a Win 11 CDVR, are there any special file creation/shares I should be aware? Reading the posts, it seems the IP adds to the docker configuration is all I need. Or, as usual, I am missing something. Already running several docker containers for channels without problems.

Thanks.

Can you give me an idea what you're running where?

Where is your CDVR server installed? Where is Docker installed? Where do you store your CDVR recordings? Personal media?

QNAP NAS with Docker at 192.168.1.42:8080
CDVR @ http://192.168.1.62:8089/

CDVR Storage Path D:\DVR

Personal Media
Movies Mapped Drive Z:\Movies (on NAS)

TV Show Folder \192.168.1.42\TV Import

Tailscale is running on the WIN 11 PC for remote access

Thanks in advance!

Pondering this a bit overnight, given your slightly more "advanced" setup (as opposed to having everything on the same system), I think the most direct path to success is as follows:

  • Install Portainer on your QNAP NAS (you should be able to find some guidance for this online or via AI.

  • Share your CDVR recordings folder (if it's not already) via Samba. It should look something like this when you're done:

  • Share your CDVR executables/logs folder via Samba. It should look something like this when you're done:

  • Using Portainer-Volumes, add 2 new volumes named channels-dvr (for your recordings) and channels-dvr-logs (for your logs/executables):

Using these two Docker Volumes, and the information you supplied earlier, I can then help you with the env vars you'll need to spin-up an OliveTin stack. Let me know when you get to that point, and then I'll finish in another post.

Was gone most of today but have jumped back in. Had to use port 8001 since the CDVR remote is using 8000. Will be watching Gator Football tonight......so, I have plenty of time to do anything. They aren't having a good year. Thanks again for the pointers.

That was great when USF beat them!

OK, so if you have Portainer installed, and have the Samba shares created and added in Portainer-Volumes -- you should be ready to roll.

First create an Access Token named olivetin in the settings area of Portainer, found using a dropdown near the user icon (upper right of the WebUI). Copy that token and store it in a secure place. You'll need it shortly.

Here's the current standard Docker Compose, with a couple of things uncommented for your situation:

services:
  olivetin: # This docker-compose typically requires no editing. Use the Environment variables section of Portainer to set your values.
    # 2025.08.25
    # GitHub home for this project: https://github.com/bnhf/OliveTin.
    # Docker container home for this project with setup instructions: https://hub.docker.com/r/bnhf/olivetin.
    image: bnhf/olivetin:${TAG:-latest} # Add the tag like latest or test to the environment variables below.
    container_name: ${OLIVETIN_NAME:-olivetin}${EZ_START}
    hostname: ${OLIVETIN_NAME:-olivetin}${EZ_START}
    dns_search: ${DOMAIN:+${DOMAIN}} # For Tailscale users using Magic DNS, add your Tailnet (tailxxxxx.ts.net) to use hostnames for remote nodes, otherwise use your local domain name.
    ports:
      - ${HOST_PORT:-1337}:1337
    environment:
      - OLIVETIN_COMPOSE=2025.08.25${EZ_START} # Do not change this value.
      - CHANNELS_DVR=${CHANNELS_DVR_HOST}:${CHANNELS_DVR_PORT:-8089} # Add your Channels DVR server in the form CHANNELS_DVR_HOST=<hostname or ip> and CHANNELS_DVR_PORT=<port>.
      - CHANNELS_DVR_ALTERNATES=${CHANNELS_DVR2_HOST:+${CHANNELS_DVR2_HOST}:${CHANNELS_DVR2_PORT}}${CHANNELS_DVR3_HOST:+ ${CHANNELS_DVR3_HOST}:${CHANNELS_DVR3_PORT}} # Space separated list of alternate Channels DVR servers to choose from in the form hostname:port or ip:port.
      - CHANNELS_CLIENTS=${CHANNELS_CLIENTS} # Space separated list of Channels DVR clients you'd like notifications sent to in the form hostname or IP.
      - ALERT_SMTP_SERVER=${ALERT_SMTP_SERVER} # SMTP server to use for sending alert e-mails. smtp.gmail.com:587 for example.
      - ALERT_EMAIL_FROM=${ALERT_EMAIL_FROM} # Sender address for alert e-mails.
      - ALERT_EMAIL_PASS=${ALERT_EMAIL_PASS} # SMTP "app" password established through GMail or Yahoo Mail. Do not use your everyday e-mail address.
      - ALERT_EMAIL_TO=${ALERT_EMAIL_TO} # Recipient address for alert e-mails.
      - UPDATE_YAMLS=${UPDATE_YAMLS:-true} # Set this to true to update config.yaml.
      - UPDATE_SCRIPTS=${UPDATE_SCRIPTS:-true} # Set this to true to update all included scripts.
      - TZ=${TZ} # Add your local timezone in standard linux format. E.G. US/Eastern, US/Central, US/Mountain, US/Pacific, etc.
      - PORTAINER_TOKEN=${PORTAINER_TOKEN} # Generate via <username> dropdown (upper right of WebUI), "My account", API tokens.
      - PORTAINER_HOST=${PORTAINER_HOST:-$CHANNELS_DVR_HOST} # Hostname or IP of the Docker host you're running Portainer on.
      - PORTAINER_PORT=${PORTAINER_PORT:-9443} # https port you're running Portainer on. 9443 is the default.
      - PORTAINER_ENV=${PORTAINER_ENV:-2} # Set this is if you're using an alternate Portainer Environment for some reason. 2 is the default.
      - PERSISTENT_LOGS=${PERSISTENT_LOGS:-false} # For supported Actions, log files are retained on an ongoing basis. false is the default.
    volumes:
      - ${HOST_DIR:-/unused}${HOST_DIR:+/olivetin:/config} # Add the parent directory on your Docker host you'd like to use.
      - ${DVR_SHARE:-/unused}${DVR_SHARE:+:/mnt/${CHANNELS_DVR_HOST}-${CHANNELS_DVR_PORT}} # This can either be a Docker volume or a host directory that's connected via Samba or NFS to your Channels DVR network share.
      - ${LOGS_SHARE:-/unused}${LOGS_SHARE:+:/mnt/${CHANNELS_DVR_HOST}-${CHANNELS_DVR_PORT}_logs} # This can either be a Docker volume or a host directory that's connected via Samba or NFS to your Channels DVR logs network share.
      - ${TUBEARCHIVIST_SHARE:-/unused}${TUBEARCHIVIST_SHARE:+:/mnt/${CHANNELS_DVR_HOST}-${CHANNELS_DVR_PORT}_ta} # This can either be a Docker volume or a host directory that's connected via Samba or NFS to your TubeArchivist videos network share.
      - ${DVR2_SHARE:-/unused}${DVR2_SHARE:+:/mnt/${CHANNELS_DVR2_HOST}-${CHANNELS_DVR2_PORT}} # Note that these volume mounts should always be to /mnt/hostname-port or /mnt/ip-port (dash rather than a colon between).
      - ${LOGS2_SHARE:-/unused}${LOGS2_SHARE:+:/mnt/${CHANNELS_DVR2_HOST}-${CHANNELS_DVR2_PORT}_logs} # This can either be a Docker volume or a host directory that's connected via Samba or NFS to your Channels DVR logs network share.
      - ${TUBEARCHIVIST2_SHARE:-/unused}${TUBEARCHIVIST2_SHARE:+:/mnt/${CHANNELS_DVR2_HOST}-${CHANNELS_DVR2_PORT}_ta} # This can either be a Docker volume or a host directory that's connected via Samba or NFS to your TubeArchivist videos network share.
      - ${DVR3_SHARE:-/unused}${DVR3_SHARE:+:/mnt/${CHANNELS_DVR3_HOST}-${CHANNELS_DVR3_PORT}} # Note that these volume mounts should always be to /mnt/hostname-port or /mnt/ip-port (dash rather than a colon between).
      - ${LOGS3_SHARE:-/unused}${LOGS3_SHARE:+:/mnt/${CHANNELS_DVR3_HOST}-${CHANNELS_DVR3_PORT}_logs} # This can either be a Docker volume or a host directory that's connected via Samba or NFS to your Channels DVR logs network share.
      - ${TUBEARCHIVIST3_SHARE:-/unused}${TUBEARCHIVIST3_SHARE:+:/mnt/${CHANNELS_DVR3_HOST}-${CHANNELS_DVR3_PORT}_ta} # This can either be a Docker volume or a host directory that's connected via Samba or NFS to your TubeArchivist videos network share.
      - /var/run/docker.sock:/var/run/docker.sock
    restart: unless-stopped

  static-file-server:
    image: halverneus/static-file-server:latest
    container_name: ${SFS_NAME:-static-file-server}${EZ_START}
    dns_search: ${DOMAIN}
    ports:
      - ${HOST_SFS_PORT:-0}:8080
    environment:
      - FOLDER=${FOLDER:-/web}
    volumes:
      - ${HOST_DIR:-/unused}${HOST_DIR:+/olivetin/data:${FOLDER:-/web}}
    restart: unless-stopped

volumes: # Remove the #x# to enable. Use this section if you've setup a docker volume named channels-dvr, with CIFS or NFS, to bind to /mnt/dvr inside the container. Set ${DVR_SHARE} to channels-dvr (DVR_SHARE=channels_dvr) in that example.
  channels-dvr:
    external: true
  channels-dvr-logs:
    external: true
  #3#tubearchivist:
    #3#external: true
  #4#channels-dvr2:
    #4#external: true
  #5#channels-dvr2-logs:
    #5#external: true
  #6#tubearchivist2:
    #6#external: true
  #7#channels-dvr3:
    #7#external: true
  #8#channels-dvr3-logs:
    #8#external: true
  #9#tubearchivist3:
    #9#external: true

Then in the special Environment variables section of the Portainer-Stack Editor (Advanced mode), paste in this set of env vars. Adjust/add values if you have them, read -- then remove the comments I added:

TAG=latest
DOMAIN=localdomain tailxxxxx.ts.net # Use your LAN's local domain name if you know it, as well as actual Tailnet.
HOST_PORT=1337
CHANNELS_DVR_HOST=192.168.1.62
CHANNELS_DVR_PORT=8089
CHANNELS_DVR2_HOST=
CHANNELS_DVR2_PORT=
CHANNELS_DVR3_HOST=
CHANNELS_DVR3_PORT=
CHANNELS_CLIENTS=
ALERT_SMTP_SERVER=
ALERT_EMAIL_FROM=
ALERT_EMAIL_PASS=
ALERT_EMAIL_TO=
UPDATE_YAMLS=true
UPDATE_SCRIPTS=true
TZ=US/Mountain
HOST_DIR=/data # Not sure how QNAP handles this. Use /data if allowed by the QNAP OS, otherwise use another parent directory you know you can write to.
DVR_SHARE=channels-dvr
LOGS_SHARE=channels-dvr-logs
TUBEARCHIVIST_SHARE=
DVR2_SHARE=
LOGS2_SHARE=
TUBEARCHIVIST2_SHARE=
DVR3_SHARE=
LOGS3_SHARE=
TUBEARCHIVIST3_SHARE=
HOST_SFS_PORT=8080 # Make sure 8080 is available on your NAS.
FOLDER=/web
PORTAINER_TOKEN=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx # Replace with the token you created.
PORTAINER_HOST=192.168.1.42
PORTAINER_PORT=9443
PORTAINER_ENV=2
PERSISTENT_LOGS=false

Later, if you want e-mail alerts where available, you can add something Google calls an "app password".

OK. Olivetin is up. I am sure I missed something. Haven’t needed token yet. I am guessing I need to run a health check. Game is closer than I expected.

Token goes here in with your env vars, as described in the comment I added. You'll need to stop your stack, make this change and then click the Update the stack button. No Project One-Click deployments will work without the token in place.

After adding the token, run the healthcheck and confirm each test reads as successful.

OliveTin Post-Install Healthcheck
Standard Output

Checking your OliveTin-for-Channels installation...
(extended_check=false)

OliveTin Container Version 2025.09.20
OliveTin Docker Compose Version 2025.08.25

----------------------------------------

Checking that your selected Channels DVR server (:8089) is reachable by URL:
HTTP Status: 200 indicates success...

curl: (3) URL using bad/illegal format or missing URL
HTTP Status: 000
Effective URL: http://:8089

----------------------------------------

Checking that your selected Channels DVR server's data files (/mnt/-8089) are accessible:
Folders with the names Database, Images, Imports, Logs, Movies, Streaming and TV should be visible...


Docker reports your current DVR_SHARE setting as...


If the listed folders are NOT visible, AND you have your Channels DVR and Docker on the same system:

Channels reports this path as...

----------------------------------------

Checking that your selected Channels DVR server's log files (/mnt/-8089_logs) are accessible:
Folders with the names data and latest should be visible...


Docker reports your current LOGS_SHARE setting as...


If the listed folders are NOT visible, AND you have your Channels DVR and Docker on the same system:

Channels reports this path as...

----------------------------------------

Checking if your Portainer token is working on ports 9000 and/or 9443:

Portainer http response on port 9000 reports version 
Portainer Environment ID for local is 
Portainer https response on port 9443 reports version 
Portainer Environment ID for local is 

----------------------------------------

Here's a list of your current OliveTin-related settings:

HOSTNAME=olivetin
CHANNELS_DVR=:8089
CHANNELS_DVR_ALTERNATES=
CHANNELS_CLIENTS=
ALERT_SMTP_SERVER=
ALERT_EMAIL_FROM=[Redacted]@
ALERT_EMAIL_PASS=[Redacted]
ALERT_EMAIL_TO=[Redacted]@
UPDATE_YAMLS=true
UPDATE_SCRIPTS=true
PORTAINER_HOST=
PORTAINER_PORT=9443
PORTAINER_ENV=2

----------------------------------------

Here's the contents of /etc/resolv.conf from inside the container:

# Generated by Docker Engine.
# This file can be edited; Docker Engine will not make further changes once it
# has been modified.

nameserver 127.0.0.11
search 
options ndots:0

# Based on host file: '/etc/resolv.conf' (internal resolver)
# ExtServers: [10.0.3.1]
# Overrides: [nameservers search]
# Option ndots from: internal

----------------------------------------

Here's the contents of /etc/hosts from inside the container:

127.0.0.1	localhost
::1	localhost ip6-localhost ip6-loopback
fe00::0	ip6-localnet
ff00::0	ip6-mcastprefix
ff02::1	ip6-allnodes
ff02::2	ip6-allrouters
172.29.0.2	olivetin

Standard Error

ls: cannot access '/mnt/-8089': No such file or directory
ls: cannot access '/mnt/-8089_logs': No such file or directory

Nothing positive to report from that healthcheck -- failures across the board. I'd venture that the problem lies in the way you entered the compose and env vars into Portainer-Stacks. So, let's review that process:

First, the Docker Compose I posted for you above was ready to go, and required NO editing. Did you make changes to the compose?

Second, the environment variables are designed to be pasted in to the Environment variables section of the Portainer-Stacks editor in Advanced mode. Did you do it this way? The area outlined in purple is where to copy-and-paste in the env vars.

In the list of env vars I provided you there were a few that you needed to complete, including your Tailnet domain and the Portainer token. Also, pay careful attention to the value for HOST_DIR, as I'm not sure how the QNAP OS handles directories being created at container spin-ups. This value must be valid.

It's best to remove the temporary comments I added to these env vars, those were added just to bring you attention to values that needed to be completed:

TAG=latest
DOMAIN=localdomain tailxxxxx.ts.net # Use your LAN's local domain name if you know it, as well as actual Tailnet.
HOST_PORT=1337
CHANNELS_DVR_HOST=192.168.1.62
CHANNELS_DVR_PORT=8089
CHANNELS_DVR2_HOST=
CHANNELS_DVR2_PORT=
CHANNELS_DVR3_HOST=
CHANNELS_DVR3_PORT=
CHANNELS_CLIENTS=
ALERT_SMTP_SERVER=
ALERT_EMAIL_FROM=
ALERT_EMAIL_PASS=
ALERT_EMAIL_TO=
UPDATE_YAMLS=true
UPDATE_SCRIPTS=true
TZ=US/Mountain
HOST_DIR=/data # Not sure how QNAP handles this. Use /data if allowed by the QNAP OS, otherwise use another parent directory you know you can write to.
DVR_SHARE=channels-dvr
LOGS_SHARE=channels-dvr-logs
TUBEARCHIVIST_SHARE=
DVR2_SHARE=
LOGS2_SHARE=
TUBEARCHIVIST2_SHARE=
DVR3_SHARE=
LOGS3_SHARE=
TUBEARCHIVIST3_SHARE=
HOST_SFS_PORT=8080 # Make sure 8080 is available on your NAS.
FOLDER=/web
PORTAINER_TOKEN=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx # Replace with the token you created.
PORTAINER_HOST=192.168.1.42
PORTAINER_PORT=9443
PORTAINER_ENV=2
PERSISTENT_LOGS=false

You might want to stop and then delete your current olivetin stack, then paste in the Docker Compose I posted above into its part of the Editor, and then paste in the env vars into their part of the Editor, followed by the adjustments described above to only what's in the Environment variables area.

I copied the wrong notepad last night. I am running out but will delete and redeploy this afternoon. Thanks for putting up with my foolishness. Was watching football and doing this at the same time.

I think I have this cleaned up. Let me know if you see anything

Checking your OliveTin-for-Channels installation...
(extended_check=false)

OliveTin Container Version 2025.09.21
OliveTin Docker Compose Version 2025.08.25

----------------------------------------

Checking that your selected Channels DVR server (192.168.1.62:8089) is reachable by URL:
HTTP Status: 200 indicates success...

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100  1276  100  1276    0     0   623k      0 --:--:-- --:--:-- --:--:--  623k
HTTP Status: 200
Effective URL: http://192.168.1.62:8089/

----------------------------------------

Checking that your selected Channels DVR server's data files (/mnt/192.168.1.62-8089) are accessible:
Folders with the names Database, Images, Imports, Logs, Movies, Streaming and TV should be visible...

total 8
drwxr-xr-x 2 root root 4096 Sep 21 15:36 .
drwxr-xr-x 1 root root 4096 Sep 21 16:59 ..

Docker reports your current DVR_SHARE setting as...
/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/volumes/channels-dvr/_data

If the listed folders are NOT visible, AND you have your Channels DVR and Docker on the same system:

Channels reports this path as...
D:\DVR

When using WSL with a Linux distro and Docker Desktop, it's recommended to use...
/mnt/d/DVR

----------------------------------------

Checking that your selected Channels DVR server's log files (/mnt/192.168.1.62-8089_logs) are accessible:
Folders with the names data and latest should be visible...

total 8
drwxr-xr-x 2 root root 4096 Sep 21 15:37 .
drwxr-xr-x 1 root root 4096 Sep 21 16:59 ..

Docker reports your current LOGS_SHARE setting as...
/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/volumes/channels-dvr-logs/_data

If the listed folders are NOT visible, AND you have your Channels DVR and Docker on the same system:

Channels reports this path as...
C:\ProgramData\ChannelsDVR

When using WSL with a Linux distro and Docker Desktop, it's recommended to use...
/mnt/c/ProgramData/ChannelsDVR

----------------------------------------

Checking if your Portainer token is working on ports 9000 and/or 9443:

Portainer http response on port 9000 reports version 
Portainer Environment ID for local is 
Portainer https response on port 9443 reports version 
Portainer Environment ID for local is 

----------------------------------------

Here's a list of your current OliveTin-related settings:

HOSTNAME=olivetin
CHANNELS_DVR=192.168.1.62:8089
CHANNELS_DVR_ALTERNATES=
CHANNELS_CLIENTS=
ALERT_SMTP_SERVER=
ALERT_EMAIL_FROM=[Redacted]@
ALERT_EMAIL_PASS=[Redacted]
ALERT_EMAIL_TO=[Redacted]@
UPDATE_YAMLS=true
UPDATE_SCRIPTS=true
PORTAINER_TOKEN=[Redacted]
PORTAINER_HOST=192.168.1.42
PORTAINER_PORT=9443
PORTAINER_ENV=2

----------------------------------------

Here's the contents of /etc/resolv.conf from inside the container:

# Generated by Docker Engine.
# This file can be edited; Docker Engine will not make further changes once it
# has been modified.

nameserver 127.0.0.11
search jim_office
options ndots:0

# Based on host file: '/etc/resolv.conf' (internal resolver)
# ExtServers: [10.0.3.1]
# Overrides: [nameservers search]
# Option ndots from: internal

----------------------------------------

Here's the contents of /etc/hosts from inside the container:

127.0.0.1	localhost
::1	localhost ip6-localhost ip6-loopback
fe00::0	ip6-localnet
ff00::0	ip6-mcastprefix
ff02::1	ip6-allnodes
ff02::2	ip6-allrouters
172.29.0.2	olivetin

Better, but multiple issues still exist:

Since the indicted folders are not present among the listed folders, we know the shares you set up through Portainer-Volumes are not quite right. Did you follow the steps I outlined of creating the shares on your Windows Computer, and then connecting to those shares using Portainer-Volumes?

https://community.getchannels.com/t/project-one-click-all-in-one-installations-of-docker-extensions-and-cdvr-custom-channels/39669/569?u=bnhf

We can see from this section that Portainer is not responding either on port 9000 or on port 9443. Normally the version shows even if your PORTAINER_TOKEN value is wrong, but the ID does not. Here we're not seeing either.

Can you post a couple of screenshots, similar to the ones I posted in the link above, showing the two shares you created in Windows File Explorer. One for your DVR recordings, and the other for your CDVR logs/executables?

Also, assuming you can get to the command line on the QNAP, can you enter the following command:

docker ps

and post the output here?

CONTAINER ID   IMAGE                                         COMMAND                CREATED         STATUS        PORTS                                                                    NAMES
f6044e296191   bnhf/olivetin:latest                          "/start.sh"            2 hours ago     Up 2 hours    0.0.0.0:1337->1337/tcp                                                   olivetin
dc827fd3cba7   halverneus/static-file-server:latest          "/serve"               2 hours ago     Up 2 hours    0.0.0.0:8081->8080/tcp                                                   static-file-server
5e543597b3a1   portainer/portainer-ce:latest                 "/portainer"           2 hours ago     Up 2 hours    0.0.0.0:9000->9000/tcp, 0.0.0.0:9443->9443/tcp, 0.0.0.0:8001->8000/tcp   portainer
a544eb1c471e   rcvaughn2/channels-remote-plus                "python app.py"        2 weeks ago     Up 25 hours   0.0.0.0:5020->5000/tcp                                                   channels-remote
4a282a410095   tonywagner/eplustv                            "./entrypoint.sh"      2 weeks ago     Up 25 hours   0.0.0.0:8000->8000/tcp                                                   elated_solomon
0e39796c6b1d   turtletank99/adbtuner:experimental            "./entrypoint.sh"      6 months ago    Up 25 hours   0.0.0.0:5592->5592/tcp                                                   adbtuner
eeadcf6f73da   ghcr.io/jgomez177/tubi-for-channels:3.01      "python3 pywsgi.py"    6 months ago    Up 25 hours   0.0.0.0:3232->7777/tcp                                                   tubi-for-channels
8712e1695914   ghcr.io/jgomez177/pluto-for-channels:latest   "python3 pywsgi.py"    17 months ago   Up 25 hours                                                                            pluto-for-channels
14d83ac7e2ec   matthuisman/frndlytv-for-channels             "python -u ./app.py"   2 years ago     Up 25 hours   0.0.0.0:8183->80/tcp                                                     frndlytv-for-channels

Found an issue with shares. It looks like a known issue where Win 11 wants SMB 1. Reading now.

This all looks good, so it may just be an issue with your PORTAINER_TOKEN. If you think it might not be correct for any reason, you can always delete it, and create a new one. Then you'd need to stop your olivetin stack, and replace the old token with the new.

A patch MS pushed 9/10 broke SMB and network shares. I am working to roll them back. Right now all I can see on any of my WIN 11 PC’s is my NAS. Hope to resolve this today. Of course I made some changes on my CDVR PC trying to resolve this…which means more exploration.