refinement: to avoid confliction of @hash sematics, @vhash utility change to be @vhashmap