newInstance is called with static, should be protected