error handling enhancements, recursive var subst