pushd source dir and popd