exercise utils may also return promises
Added exercise util to diff ref and shadowcommit