add event fromework