Add competent API and add the event class this time