add the events module and add some implements