private to protected for model