factor out into separate files
add aws sdk support

Its more consistent than fog