implemented HMAC API request signing