#17 Add johnalbin's normalize implementation