added template library