Beware: this code is badly documented. Is is very mature though, and pretty stable. You very likely don't want to use it.