first major block of code for this
concept works, except seems to think it has 6 forks instead of the 4 it actually has.  Will fix later!