the argument should be typehinted