based on git revision 9e8c883c685dd6099a69cc56d226de646871d66c.
