mixed (browser & node)