based on git revision 1167c2aa6cddc2881e53b0f6d0feea304cd7fcba.
