documentation for high-level API