more platform independent analyze, analyze.utils still depends on Vars