add and expose events