added public and internal endpoints