add finish events