no need for the `inline` here, functions defined in a class body are implicitly `inline`