explaining the public API