added normalizer, refactored