A try at merging offline work: transition to smart pointers, rethought NetworkMap, cmake based builds