add dispatch callback, update tests