Designing the public API