better type for event