privacy for OOP