fixing circular dependencies
parsing basic rules
handling new event types