tried to optimize web.isType