add UserEvent enum