expand prompt out into nice, tidy functions
make moving back in repo work in mercurial