added template methods