public api should be the other project, to encapsulate our inner API methods and classes