hopefully more portable
Fetch from upstream