refactored zsh using plugin system