implemented EventQueue