nit: @private