[refactor] event, todo