add s3.put support
fix some bugs