nit: should add a `@return`