add style
improve function