I tried it and it worked pretty well. I'm curious about the principle behind it. Is there any model or API being called?