add PUT and SHA1 support