Copied from Hazardj

Because I can't figure out how to pull from the most recent version of hazardj. Since this is a fork here, it would seem that you should be able to see and pull from that tree.