use the built-in tempfile mechanism
it's ugly but it works
explain request modifiers
nice refactor!