add fork, union, hash