reduce public API surface area