use Fog.credential instead of manually retrieving credentials
create an uploader class
only upload changed files
increment version