S3 storage driver for next gen modifications

This still needs some more minor debugging.
Ha, I knew that. I was commenting on style but looks like i read the initial line wrong. Those are parameters in the function not part of an if statement. Nvm, carry on :p