extract template init