should be typehinted