refactor hamming

Signed-off-by: Barry Allard <barry.allard@gmail.com>