instead of rewriting our own, try to diverge this effort to a standard, even though that is far from complete