rewrite event dispatch
fix: recent files