protects non API method