US Patent No. 6,602,527 US Patent No. 6,811,799