an update. many thanks to AndroidOL for the patchs