based on git revision f2a343058581fa68ab7fc7fe7122aaccc7f2d0f0.
