added events functions