based on git revision 23f550350dbccc3b953b2d02994850dc2c3c5d02.
