bugfix:  move is_x queries to subclasses