Patches pushed as 9daa9f2a6f32ae01c1a4b65d866809d5318c04e8 and following with some modifications. Thanks.