make implementation details private