finished up S3 interface