ok for type hinting and name
but I've absolutely no idea how this work, so no docblock