this should also be a subclass of the events class