event entity with type check