stricter encapsulation