Added md5 implementation