shamefully exposed all structs in the header file (avoids forward declaration error when combining with PaGMO)
added custom node functions and extension module