don't use pushd/popd which are only available in bash