added some event handler
remove transaction struct