slightly more performant, though less rigorous getfile. tested up to 12MB
now with less hardcoding and more monkey-patching
support context prefixing