removed duplicate
added template