It is hard, I created one myself for the networks I partner with, basically it's all trial and error, until I got to a standstill and got help from someone here. It's not an easy process if you only know the basics of c++ more just what exactly is going on to build it then update it as you go.