added data scaling