finished event implementation