added public and private apis