switched to zsh and improved modularity