splitting api functions
ignore private API calls