added template stuff improve