updated events functions