It took me a while to understand the principle of operation and the tools to use and their interactions. So I've posted some explanation about it.