added dispatch() from Noodlehaus