template methods added