creating a core s3 storage plugin, and working out a file upload api