@sgibm
I've assembled some links that go over your subject - none of which I've utilized - I'm just the librarian ;->
@DBear's suggestion: