minified using http://marijnhaverbeke.nl/uglifyjs