US PATENT: 7722348

US PATENT: 8029263