Work on HMAC done, tested, fixed some bugs and typos