rewrite events methods