hash and tree