no idea if it matters, isinstance allows subclasses