new API framework, add Public-API supported