Add private endpoint functions