Improved normalize merhtod