Dispatch looks pretty much done, needs tests