abstracted network api

draft for icnrg