updated history behavior
added pushd stuff