Better popd/pushd behavior