Updated this patch. Please take a look.