add stringutil: DefaultIfBlank()
add fileutil: PrependHomeDir(), FileExists()