implement event dispatcher
tiny fix