Why do we need a public API for this?