add pushd logic