Hi @programmer
As a starting point, you might find the following thread of interest
If you have further questions, do not hesitate to reply here.