added data normalization