redoing subclass