protected private methods