Hopefully @Bellave_Jayaram will be able to give you more pointers but I briefly looked into something similar the other day and it seems this is where you start:
Hopefully @Bellave_Jayaram will be able to give you more pointers but I briefly looked into something similar the other day and it seems this is where you start: