use __ as prefix of template protected methods