maybe add a `set -e` so it doesn't fall through on failures.