skipped some functions of events