many enhancements thanks to http://justinlilly.com/dotfiles/zsh.html