US Patents: 7588202; 8196850; 10258201