public API and code organization