make secret and key optional, add path argument for s3 cache