Add a load of the licensing and attributing things to scripts.

fixing the observable to be a bit better structured

Add the main method to the breadth first

clear ups