improve template