require normalization