upstream changes from oh-my-zsh