Adapted for Heroku with Gunicorn and zip extraction