updated to a basic design. We'll refine later.

Also added in Amazon S3 support