reduce reliance on Microsoft.VisualBasic reference