adding support for HMAC