Added User superclass and subclasses