maybe my my zsh 4.2.6 (x86_64-redhat-linux-gnu) does not support this, copy the function