public api and documentation