make s3 optional