added S3 operation