added some structure and functionality to Event class