Note to self: rework this to include the following improvements

- preprocess files (i.e mediacrush.js)
- allow unicode characters in files