update by scrutinizer
fix typehint