sketch the public API