adding in support for commandlne and evironment variables so I can keep that stuff safe from prying eyes