http://mark0.net/soft-trid-e.html