try to provide simple object-oriented C-based APIs