properly implement isa, add test
properly implement isa, add test