fixed bug: error when empty string is encountered
normalization now takes strategy as an argument