added data collection and normalization