replaced event actions with delegates