Added subclasses to type to avoid unnecessary casts