define public API, and give it a nicer name