add HasState & HasClass