Making setup script far more comprehensive.