updated subclasses