some more class to build up an event