improve template
improve template