new dispatch mechanism