first step into removing isXX() and asXX()
step 2 of removing isXX() and asXX()