remove prived api from public headers. WIP